如何在Java中将两个PDF文件合并为一个?

新手上路,请多包涵

我想使用 PDFBox 将许多 PDF 文件合并为一个,这就是我所做的:

 PDDocument document = new PDDocument();
for (String pdfFile: pdfFiles) {
    PDDocument part = PDDocument.load(pdfFile);
    List<PDPage> list = part.getDocumentCatalog().getAllPages();
    for (PDPage page: list) {
        document.addPage(page);
    }
    part.close();
}
document.save("merged.pdf");
document.close();

其中 pdfFilesArrayList<String> 包含所有 PDF 文件。

当我运行上述内容时,我总是得到:

 org.apache.pdfbox.exceptions.COSVisitorException: Bad file descriptor

难道我做错了什么?还有其他方法吗?

原文由 Lipis 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

为什么不使用 pdfbox 的 PDFMergerUtility

 PDFMergerUtility ut = new PDFMergerUtility();
ut.addSource(...);
ut.addSource(...);
ut.addSource(...);
ut.setDestinationFileName(...);
ut.mergeDocuments();

原文由 cherouvim 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题