我们使用iText5.5版PdfCopy合并多个标记的PDF.(那些标记的PDF不是由iText.创建的.)我们在以下情况下遇到以下错误document.close:
java.lang.NullPointerException
at com.itextpdf.text.pdf.RefKey.<init>(RefKey.java:59)
at com.itextpdf.text.pdf.PdfCopy.fixTaggedStructure(PdfCopy.java:822)
at com.itextpdf.text.pdf.PdfCopy.flushTaggedObjects(PdfCopy.java:779)
at com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:854)
at com.itextpdf.text.Document.close(Document.java:416)
com.itextpdf.text.exceptions.InvalidPdfException: Rebuild failed: trailer not found.; Original message: PDF startxref not found.
at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:668)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:181)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:230)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:207)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:197)
Run Code Online (Sandbox Code Playgroud)
PDF有效且包含预告片%EOF,文件未损坏.还有什么可能导致这个?
Ora*_*ree 12
你可能已经找到了答案.我有同样的问题,我通过在实例化PdfReader之前关闭文件来解决它.
例:
**
Document tempDoc = new Document(PageSize.A4, 40, 40, 80, 20);
ByteArrayOutputStream tempBaos = new ByteArrayOutputStream();
PdfWriter.getInstance(tempDoc, tempBaos);
tempDoc.open();
tempDoc.add(tempChap);
tempDoc.close(); // Closing the document before calling Reader
PdfReader reader = new PdfReader(tempBaos.toByteArray());
Run Code Online (Sandbox Code Playgroud)
**
希望这会有所帮助
| 归档时间: |
|
| 查看次数: |
19374 次 |
| 最近记录: |