无法将iText生成的pdf发送到docuSign

无法将iText生成的pdf发送到docuSign,itext,docusignapi,Itext,Docusignapi,我正试图在一个信封内发送两份PDF到docusign。PDF是使用iText库生成的。此问题仅在使用iText生成的pdf时发生。其他(从web下载的)PDF在我使用docusign的应用程序中运行良好,因此java代码中没有问题。此外,在信封内发送单个(iText生成的)pdf也没有问题。只有在发送多个(iText生成的)pdf文档时才会出现问题。在使用docusignrestapi发送此pdf时,我收到一个http 400错误请求。有人能在我的pdf中指出这个问题吗 这里是我试图发送的pdf

我正试图在一个信封内发送两份PDF到docusign。PDF是使用iText库生成的。此问题仅在使用iText生成的pdf时发生。其他(从web下载的)PDF在我使用docusign的应用程序中运行良好,因此java代码中没有问题。此外,在信封内发送单个(iText生成的)pdf也没有问题。只有在发送多个(iText生成的)pdf文档时才会出现问题。在使用docusignrestapi发送此pdf时,我收到一个http 400错误请求。有人能在我的pdf中指出这个问题吗

这里是我试图发送的pdf的链接

提前谢谢

-----编辑-----

在Adobe Reader中使用“另存为新PDF”选项并保存文档后,我尝试了这两个文档。在此之后,两个PDF成功上传到docusign。有人能帮我修改一下Adobe Reader对我的文档所做的更改吗?这些更改使docusign可以使用。此外,pdf的大小也增加了,在使用“另存为新pdf”选项后,fast web view属性设置为“是”

-----编辑-----

这是我要记录的请求内容。这次使用的是由iText生成的简单文本pdf。此请求还引发400错误请求错误

--BOUNDARY
Content-Type: application/json
Content-Disposition: form-data

{"status":"sent","emailBlurb":"email body","emailSubject":"email subject","documents":[{"documentId":"501","name":"cc5fda55_pdf","order":"1"},{"documentId":"502","name":"cc5fda56_pdf","order":"2"}],"recipients":{"signers":[{"recipientId":"74d5772d-6a5b-4fb0-b95d-947d8ecafd3c","returnUrl":null,"name":"Lucy Lu","email":"lucy.lu@gmail.com","clientUserId":"74d5772d-6a5b-4fb0-b95d-947d8ecafd3c","routingOrder":"1","tabs":{"signHereTabs":[{"documentId":"501","pageNumber":"1","anchorString":"ee_signature","anchorXOffset":"0","anchorYOffset":"0","anchorIgnoreIfNotPresent":"true","anchorUnits":"inches"},{"documentId":"502","pageNumber":"1","anchorString":"ee_signature","anchorXOffset":"0","anchorYOffset":"0","anchorIgnoreIfNotPresent":"true","anchorUnits":"inches"}]}}]}}
--BOUNDARY
Content-Type: application/pdf
Content-Disposition: file; filename="cc5fda55_pdf"; documentId=501

%PDF-1.4
%âãÏÓ
2 0 obj
<</Length 77/Filter/FlateDecode>>stream
<BYTE CONTENT HERE>
endstream
endobj
4 0 obj
<</Parent 3 0 R/Contents 2 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 1 0 R>>>>/MediaBox[0 0 595 842]>>
endobj
1 0 obj
<</BaseFont/Helvetica/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
3 0 obj
<</ITXT(5.0.6)/Type/Pages/Count 1/Kids[4 0 R]>>
endobj
5 0 obj
<</Type/Catalog/Pages 3 0 R>>
endobj
6 0 obj
<</Producer(iText 5.0.6 \(c\) 1T3XT BVBA)/ModDate(D:20140303192905+05'30')/CreationDate(D:20140303192905+05'30')>>
endobj
xref
0 7
0000000000 65535 f 
0000000315 00000 n 
0000000015 00000 n 
0000000403 00000 n 
0000000158 00000 n 
0000000466 00000 n 
0000000511 00000 n 
trailer
<</Root 5 0 R/ID [<e5359ec2954ce59003907592ee9885c4><af4ec60043c4444d2e7f07c3286e29da>]/Info 6 0 R/Size 7>>
startxref
641
%%EOF
--BOUNDARY
Content-Type: application/pdf
Content-Disposition: file; filename="cc5fda56_pdf"; documentId=502

%PDF-1.4
%âãÏÓ
2 0 obj
<</Length 77/Filter/FlateDecode>>stream
<BYTE CONTENT HERE>
endstream
endobj
4 0 obj
<</Parent 3 0 R/Contents 2 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 1 0 R>>>>/MediaBox[0 0 595 842]>>
endobj
1 0 obj
<</BaseFont/Helvetica/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
3 0 obj
<</ITXT(5.0.6)/Type/Pages/Count 1/Kids[4 0 R]>>
endobj
5 0 obj
<</Type/Catalog/Pages 3 0 R>>
endobj
6 0 obj
<</Producer(iText 5.0.6 \(c\) 1T3XT BVBA)/ModDate(D:20140303192905+05'30')/CreationDate(D:20140303192905+05'30')>>
endobj
xref
0 7
0000000000 65535 f 
0000000315 00000 n 
0000000015 00000 n 
0000000403 00000 n 
0000000158 00000 n 
0000000466 00000 n 
0000000511 00000 n 
trailer
<</Root 5 0 R/ID [<e5359ec2954ce59003907592ee9885c4><af4ec60043c4444d2e7f07c3286e29da>]/Info 6 0 R/Size 7>>
startxref
641
%%EOF

--BOUNDARY--
——边界
内容类型:application/json
内容配置:表单数据
{“状态”:“已发送”,“emailBlurb”:“电子邮件正文”,“emailSubject”:“电子邮件主题”,“文档”:[{“文档ID”:“501”,“名称”:“cc5fda55_pdf”,“订单”:“1”},{“文档ID”:“502”,“名称”:“cc5fda56_pdf”,“订单”:“2”}],“收件人”:{“签名者”:[{“收件人ID”:“74d5772d-6a5b-4fb0-b95d-947d8ecafd3c”,“返回URL”:null,“名称”:“露西”,“电子邮件”:“露西”。lu@gmail.com",“clientUserId:”74d5772d-6a5b-4fb0-b95d-947d8ecafd3c“,”routingOrder:”1“,”tabs:”{“signHereTabs:”501“,”页码“:”1“,”主播字符串“:”ee_签名“,”主播偏移“:”0“,”主播偏移“:”0“,”主播不在场“:”真“,”主播单位“:”英寸“,”主播ID:”502“,”页码“:”1“,”主播字符串“:”ee"主播签名“,”主播偏移“,”0“,”主播偏移“,”anchorYOffset:“0”,“anchorIgnoreIfNotPresent:“真”,“anchorUnits:“英寸”}]}}
--边界
内容类型:application/pdf
内容配置:文件;filename=“cc5fda55\u pdf”;documentId=501
%PDF-1.4
%âãÏÓ
20 obj
流动
尾流
endobj
40 obj
endobj
10 obj
endobj
30 obj
endobj
50 obj
endobj
60 obj
endobj
外部参照
0 7
0000000000 65535 f
0000000 315 00000 n
00000000150万元
0000000 403 00000 n
0000000 15800000n
0000000466000000N
0000000 511 00000n
拖车
起始外部参照
641
%%EOF
--边界
内容类型:application/pdf
内容配置:文件;filename=“cc5fda56\u pdf”;documentId=502
%PDF-1.4
%âãÏÓ
20 obj
流动
尾流
endobj
40 obj
endobj
10 obj
endobj
30 obj
endobj
50 obj
endobj
60 obj
endobj
外部参照
0 7
0000000000 65535 f
0000000 315 00000 n
00000000150万元
0000000 403 00000 n
0000000 15800000n
0000000466000000N
0000000 511 00000n
拖车
起始外部参照
641
%%EOF
--边界--

我已经测试了您的PDF,我有证据证明问题不是由iText引起的,而是由使用iText创建PDF或提供PDF的服务的人引入的错误引起的。请在纯文本编辑器中打开文档。您将看到以下内容:

%PDF-1.4
%âãÏÓ
3 0 obj <</Length 236/Filter/FlateDecode>>stream
xœu‘?kÃ0Å÷û7¶Týq$y-´CK†€ CÈ+¶±kbòõ{’b‡  é~Ü{ÇC:ÇŽY¾bÊ¢;§ƒ
œ3®Ì
/ ñ›ú5ŽkØî8 ÃêO ,fÆcÒJ–ÏÜD–ŠX3­ˆ…e4oÆüÛÂ×O˜Î@TN®ëäÔkŸ(¯q–®ü.ïm¾ÅÔ~Åc>9Ù
öÄÍÄA•&õ’fm ¿ðÞýýK è<ˆø¤•ŽÊÌ0«ÑµðâÊj@Ú÷Õ¡Ú7¡(zlŠq¤Ëw=þìÇ×Ý0¸KÇ^]=ýàþâqe»
endstream
endobj
1 0 obj<</Parent 4 0 R/Contents 3 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 2 0 R>>>>/MediaBox[0 0 300.98 495.38]>>
endobj
2 0 obj<</BaseFont/Times-Roman/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
4 0 obj<</Type/Pages/Count 1/Kids[1 0 R]>>
endobj
5 0 obj<</Type/Catalog/Pages 4 0 R>>
endobj
6 0 obj<</Producer(iText 2.0.8 \(by lowagie.com\))/ModDate(D:20140225153804+05'30')/CreationDate(D:20140225153804+05'30')>>
endobj
xref
0 7
0000000000 65535 f 
0000000318 00000 n 
0000000480 00000 n 
0000000015 00000 n 
0000000569 00000 n 
0000000619 00000 n 
0000000663 00000 n 
trailer
<</Root 5 0 R/ID [<3edf7c900aab4e26d6ac2b1326544426><539a2d0a5c5a341b17d8331a3eab6622>]/Info 6 0 R/Size 7>>
startxref
794
%%EOF
%PDF-1.4
%âãÏÓ
30 obj流
xœu'?kÃ0ý7ýTýq$y-'CK†€CÈ+?kbòC:
œ3®Ì
/è5ŽkØ8ÃO,fÆcÒJÏDÒX3ˆ…e4oÆÛOÎ@TNäkŸ
ÄÍÄA•&õfmð222;ýKý

这是HTML,不属于PDF文件。应该清楚的是,此HTML不是由iText添加的。Adobe Reader将忽略HTML并正确显示PDF,但在尝试关闭PDF时,它会要求您保存该PDF。其他工具可能有HTML问题

如何解决这个问题?在
%%EOF
之后扔掉所有东西,你就会得到一个有效的PDF。我用Adobe Preflight测试了这个问题,得到了一个绿色的复选标记(意思是:PDF中没有语法错误)

我的回答可能与此无关:HTML似乎是由您用来分发PDF的服务添加的(PDFHost.NET,一家显然找到了一种相当肮脏的方式来推销自己的公司)。如果是这样,请使用一个不会污染“证据”的分发渠道;-)

我很确定这个问题与iText无关,因为您说,当发送一个由iText生成的文件时,该服务才起作用,只有当您发送两个文件时才起作用。这就提出了一个问题:发送两个文件时有什么不同:您使用哪种方法来合并两个文档?


最后:我看到PDF是使用iText 2.0.8创建的。如果您知道是谁创建了这些PDF,请让他或她升级到更新的版本。请参阅(该版本不再受支持,如果继续使用,您可能会遇到其他更严重的问题).

pdfhost.net,正如@Bruno已经详细描述的,目前似乎在操纵(实际上是无效的)PDF文档。因此,您可能希望使用更合适的文件宿主来提供文件。此外,即使您的程序与其他PDF一起正常工作,它仍然可能是搜索错误的地方,从而提供有关调用docusign的代码的更多信息。有人能帮我修改Adobe Reader对我的文档所做的更改吗e它与docusign一起工作。-可能如果您共享了它们,这次使用的文件共享服务不会破坏pdf。您好,Bruno Lowagie,您是对的,html不是由iText添加的,而是由PDFHost.net添加的。我尝试发送的文件在%%EOF之后不包含任何内容。但是docusign rest api仍然抛出http 400错误。我想ted想知道文档中的pdf有什么问题
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PDF&nbsp;Host</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />

<style type="text/css">
<!--
a:link {
    color: #999999;
    text-decoration: none;
}
a:visited {
    color: #CCCCCC;
    text-decoration: none;
}
a:hover {
    color: #99CCCC;
    text-decoration: none;
}
a:active {
    text-decoration: none;
}
.style1 {color: #FFFFFF}
-->
</style>
<script type="text/javascript">

  var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-24601794-1']);
      _gaq.push(['_trackPageview']);

        (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
              })();

              </script>
              </head>
<body bgcolor="#2d878f" background="bkg.jpg" style="background-repeat:repeat-x" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<p>&nbsp;</p>
<table width="725" height="423" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr>
    <td height="197" valign="top">
    <img src="images/pdfhost2_01.jpg" width="725" height="197" alt=""></td>
  </tr>
    <tr>
        <td height="53"><table width="725" height="53" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <th bgcolor="133841" scope="col"><a href="index.php" class="style1">Home</a> - <a href="index.php?Action=Upload" class="style1">Upload PDF&nbsp;Document</a></th>
          </tr>
        </table></td>
    </tr>
    <tr>
      <td valign="top"><table width="725" height="175" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <th height="59" background="tbk.jpg" scope="col"><div align="center"></div>
            <table width="680" height="306" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <th valign="top" scope="col">                  <p align="center"><br>
                </p>
<p align="left" class="style2">

                  Welcome to PDFHost.NET!<br /><br />

                  On this website you can upload PDF documents to send to your friends, family, and other people.<br />
                  The service on this website is completely free. We can provide this service through our advertisers.<br /><br />

                  To upload a PDF document, please click on the button below. You will be asked to fillin all the needed information to complete the upload.<br /><br />
                  <p align="center"><a href="index.php?Action=Upload"><img src="button.jpg" style="border-style: none"/></a> </p>

                                </p><br /><br />
    <script type="text/javascript"><!--
google_ad_client = "ca-pub-3986885209750256";
/* PDFHost.net */
google_ad_slot = "9986575127";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
    <br>
            </p></th>
          </tr>
        </table>

        <p align="left">&nbsp;</p></th>
      </tr>
    </table></td>
</tr>
<tr>
    <td>
        <img src="images/pdfhost2_04.jpg" width="725" height="10" alt="">   </td>
</tr>
</table>

<p>&nbsp;</p>
</body>
</html>