我們正在嘗試從iText 5升級到iText 7,並且看到了幾個問題。我收到一個異常爲「com.itextpdf.io.IOException:未找到PDF startxref。」在PdfReader#readPdf()裏面,最後在調用方法中得到一個異常爲「com.itextpdf.kernel.PdfException:Trailer not found。」。iText 7 - com.itextpdf.io.IOException:未找到PDF startxref
我的用例是創建一個使用inputSream PdfReader實例,然後從讀者創造PdfDocument並通過PdfWriter作爲構造parameter.We試圖修改現有的PDF,示例代碼如下
PdfReader pdfReader = new PdfReader(inputStream);
pdfReader.setUnethicalReading(true);
ByteArrayOutputStream os = new ByteArrayOutputStream();
PdfDocument pdfDocument = new PdfDocument(pdfReader, new PdfWriter(os));
燦有人請提出我做錯了什麼,以及我們如何解決這個問題。我們有一個實用的方法來編寫輸出流並創建一個新的pdf附件。
'inputStream'從哪裏來?您確定您正在閱讀正確的PDF文件(即,您可以使用可用的PDF查看器工具打開它)嗎?你能分享一個你有問題的樣本PDF嗎? –
簡單地說,錯誤消息意味着你的'InputStream'不在pdf的開頭。即要麼根本沒有有效的pdf,要麼已經(部分或完全)讀取流。 – mkl
@ Alexy- pdf作爲附件附加到現有表中,我們有一個API,通過它可以將附件作爲InputStream讀取。我想,正在創建的PDF已損壞。我需要查看該代碼,瞭解如何在Pdf字段中設置值。 –