1. ホーム
  2. java

[解決済み] Javaで1つに2つのPDFファイルをマージするには?

2023-06-20 04:34:08

質問

私は、多くのPDFファイルを1つに統合するために PDFBox を使用して、多くのPDFファイルを1つに統合したいのですが、これは私が行ったことです。

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

私は何か間違ったことをしているのでしょうか? 他に方法はないのでしょうか?

どのように解決するのですか?

なぜ PDFMergerUtility を使えばいいのでは?

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