使用 PDFBox 合并 PDF 文档时出错

问题描述 投票:0回答:1

目前,我正在

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)

我该如何解决这个问题?

java pdfbox
1个回答
0
投票

这更像是一种解决方法,而不是解决方案,并且用途有限,但对我来说,设置就足够了

merger.setDocumentMergeMode(PDFMergerUtility.DocumentMergeMode.OPTIMIZE_RESOURCES_MODE); 

© www.soinside.com 2019 - 2024. All rights reserved.