2014-01-08 62 views
1

我們是不能能夠保存來自XFDF表單的POST數據內容。 POST事件是使用PDF中的按鈕觸發的。無法保存XFDF表單的POST數據內容

我們在服務器端使用Java + SPRING

例外:

java.io.IOException: Expected > for tag: <{1}/> near line 1, column 13

觀察到同樣的錯誤在iText的演示頁呢!這裏是:http://itextpdf.com:8180/book/xfdf

請幫助我們找到解決方案。

[更多細節]

的錯誤是在iText的演示頁面本身重複性。 Url:http://itextpdf.com:8180/book/xfdf 提交表單後,我們可以在ajax響應部分注意到它。

順便說一下,這裏是我們的應用程序的輸入,輸出和源代碼。

HTTP POST INPUT DATA:

%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! 

} 
+0

我只是執行的代碼示例,如文檔中(http://itextpdf.com/examples/iia.php ?id = 172),我沒有遇到任何例外。你能告訴我們你的整個代碼,或者檢查你的代碼與樣本不同嗎? –

+0

嗨邁克爾,感謝您的回覆。 – OMG

+0

我沒有看到你做錯了什麼。你是什​​麼意思「這個問題可以在演示頁面中重現」?我在該頁面中輸入了信息並提交了信息,並得到了預期結果。我也重建了這個pdf來將數據提交給本地的tomcat,並沒有例外。你能提供你的pdf嗎? –

回答

0

問題是您正在張貼FDF數據,但使用XFDF閱讀器。 FDF和XFDF是不同的格式,XFDF閱讀器將其視爲XML字符串並引發關於未封閉標籤的錯誤。

如果你只是提供FDF文件,你想要的東西,如:

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