目前,我正在
java.io.IOException:找到了预期的字符串 COSDictionary{COSName{ID}:COSString{node00001218};COSName{K}:....
我使用下面的代码来合并pdf,PDFBox的版本是2.0.24。
PDFMergerUtility merger = new PDFMergerUtility();
Path mergedTempFile = Files.createTempFile("merge_", ".pdf");
merger.setDestinationFileName(mergedTempFile.toString());
merger.addSource(new File("D://1.pdf"));
merger.addSource(new File("D://2.pdf"));
merger.mergeDocuments(null);
我也使用最新版本的 PDFBox 3.0.0-alpha2 执行了相同的代码,但错误并未解决。
请参阅下面的堆栈跟踪以了解此错误。
at org.apache.pdfbox.pdmodel.common.PDNameTreeNode.getNames(PDNameTreeNode.java:272)
at org.apache.pdfbox.multipdf.PDFMergerUtility.getIDTreeAsMap(PDFMergerUtility.java:1122)
at org.apache.pdfbox.multipdf.PDFMergerUtility.getIDTreeAsMap(PDFMergerUtility.java:1137)
at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeIDTree(PDFMergerUtility.java:1094)
at org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:879)
at org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:461)
at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:355)
at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:339)
我该如何解决这个问题?
这更像是一种解决方法,而不是解决方案,并且用途有限,但对我来说,设置就足够了
merger.setDocumentMergeMode(PDFMergerUtility.DocumentMergeMode.OPTIMIZE_RESOURCES_MODE);