Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法保存XFDF表单的POST数据内容_Java_Spring_Pdf_Itext_Acrobat - Fatal编程技术网

Java 无法保存XFDF表单的POST数据内容

Java 无法保存XFDF表单的POST数据内容,java,spring,pdf,itext,acrobat,Java,Spring,Pdf,Itext,Acrobat,我们无法保存XFDF表单中的POST数据内容。POST事件是使用PDF中的按钮触发的 我们在服务器端使用Java+SPRING 例外情况: %FDF-1.2 1 0 obj <</FDF<</F<</Type/Filespec/F(http///localhost/8081/triplefin/document/download/4)/UF(http///localhost/8081/triplefin/document/download/4)>>

我们无法保存XFDF表单中的POST数据内容。POST事件是使用PDF中的按钮触发的

我们在服务器端使用Java+SPRING

例外情况:

%FDF-1.2
1 0 obj
<</FDF<</F<</Type/Filespec/F(http///localhost/8081/triplefin/document/download/4)/UF(http///localhost/8081/triplefin/document/download/4)>>/Fields[<</T(pat_name)/V(sample)>><</T(member_number)>><</T(p_add)>><</T(p_city)>><</T(p_state)>><</T(p_zip)>><</T(pat_phone)>><</T(pat_dob)>><</T(doc_name)/V(provider1)>><</T(doc_add)/V(7/15 krishna nagar)>><</T(doc_city)/V(coimbatore)>><</T(doc_state)/V(641041)>><</T(doc_zip)>><</T(doc_phone)/V(1232131)>><</T(doc_fax)/V(023423423)>><</T(specialty)>><</T(npi_number)>><</T(drug)>><</T(drug_dosage)>><</T(rx_direction)>><</T(Diagnosis)>><</T(pat_start_date)>><</T(alternatives_used)>><</T(non_formulary_reason)>><</T(addi_treatment)>><</T(doc_signature)>><</T(doc_sig_date)>>]>>>>
endobj

trailer
<</Root 1 0 R>>
%%EO
java.io.IOException: Expected > for tag: <{1}/> near line 1, column 13
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.throwException(SimpleXMLParser.java:594)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.go(SimpleXMLParser.java:353)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:607)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:682)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:648)
    at com.itextpdf.text.pdf.XfdfReader.<init>(XfdfReader.java:113)
public void savePostDataToPdf(String pdfFileAbsolutePathString, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{

    XfdfReader xfdfReaderObject = new XfdfReader(request.getInputStream()); //ERROR IS HERE!

}
java.io.IOException:Expected>for标记:靠近第1行第13列

在itext演示页面中也观察到了相同的错误!这是:

请帮助我们找到解决方案

[更多详细信息]

该错误可在iText演示页面中重现。 网址: 提交表单后,我们可以在ajax响应部分注意到它

顺便说一下,这是我们应用程序中的输入、输出和源代码

HTTP POST输入数据:

%FDF-1.2
1 0 obj
<</FDF<</F<</Type/Filespec/F(http///localhost/8081/triplefin/document/download/4)/UF(http///localhost/8081/triplefin/document/download/4)>>/Fields[<</T(pat_name)/V(sample)>><</T(member_number)>><</T(p_add)>><</T(p_city)>><</T(p_state)>><</T(p_zip)>><</T(pat_phone)>><</T(pat_dob)>><</T(doc_name)/V(provider1)>><</T(doc_add)/V(7/15 krishna nagar)>><</T(doc_city)/V(coimbatore)>><</T(doc_state)/V(641041)>><</T(doc_zip)>><</T(doc_phone)/V(1232131)>><</T(doc_fax)/V(023423423)>><</T(specialty)>><</T(npi_number)>><</T(drug)>><</T(drug_dosage)>><</T(rx_direction)>><</T(Diagnosis)>><</T(pat_start_date)>><</T(alternatives_used)>><</T(non_formulary_reason)>><</T(addi_treatment)>><</T(doc_signature)>><</T(doc_sig_date)>>]>>>>
endobj

trailer
<</Root 1 0 R>>
%%EO
java.io.IOException: Expected > for tag: <{1}/> near line 1, column 13
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.throwException(SimpleXMLParser.java:594)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.go(SimpleXMLParser.java:353)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:607)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:682)
    at com.itextpdf.text.xml.simpleparser.SimpleXMLParser.parse(SimpleXMLParser.java:648)
    at com.itextpdf.text.pdf.XfdfReader.<init>(XfdfReader.java:113)
public void savePostDataToPdf(String pdfFileAbsolutePathString, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{

    XfdfReader xfdfReaderObject = new XfdfReader(request.getInputStream()); //ERROR IS HERE!

}

问题是您正在发布FDF数据,但使用的是XFDF读取器。FDF和XFDF是不同的格式,XFDF阅读器将其视为XML字符串,并抛出一个关于未关闭标记的错误

如果您只是提供FDF文件,您可能需要以下内容:

FdfReader fdfReaderObject = new FdfReader(request.getInputStream());

我只执行了文档()中的示例代码,没有遇到任何异常。你能给我们看一下你的全部代码吗,或者检查一下你的代码与示例的不同之处吗?嗨,迈克尔,谢谢你的回复。我看不出你做错了什么。你说的“问题在演示页面上重现”是什么意思?我在那个页面输入了信息并提交了它,我得到了预期的结果。我还重新构建了pdf,将数据提交给本地tomcat,没有例外。您能提供您的pdf吗?请查看页面中的AJAX响应:(单击POST按钮后)。我们得到了完全相同的错误。在我们的例子中,它发生在有人输入'