PDFBox-複数のPDFドキュメントのマージ

前の章では、特定のPDFドキュメントを複数のドキュメントに分割する方法を見てきました。ここで、複数のPDFドキュメントを1つのドキュメントとしてマージする方法を学びましょう。

複数のPDFドキュメントのマージ

名前の付いたクラスを使用して、複数のPDFドキュメントを1つのPDFドキュメントにマージできます。 PDFMergerUtility このクラスは、2つ以上のPDFドキュメントを1つのPDFドキュメントにマージするメソッドを提供します。

以下は、複数のPDFドキュメントをマージする手順です。

ステップ1:PDFMergerUtilityクラスをインスタンス化する

以下に示すように、マージユーティリティクラスをインスタンス化します。

PDFMergerUtility PDFmerger = new PDFMergerUtility();

ステップ2:宛先ファイルを設定する

以下に示すように、setDestinationFileName()メソッドを使用して宛先ファイルを設定します。

PDFmerger.setDestinationFileName("C:/PdfBox_Examples/data1/merged.pdf");

ステップ3:ソースファイルを設定する

以下に示すように、addSource()メソッドを使用してソースファイルを設定します。

File file = new File("path of the document")
PDFmerger.addSource(file);

ステップ4:ドキュメントをマージする

以下に示すように、PDFmergerクラスのmergeDocuments()メソッドを使用してドキュメントをマージします。

PDFmerger.mergeDocuments();

2つのPDFドキュメントがあるとします— sample1.pdf そして sample2.pdf、パス内 C:\PdfBox_Examples\ 以下に示すように。

この例は、上記のPDFドキュメントをマージする方法を示しています。ここでは、という名前のPDFドキュメントをマージしますsample1.pdf そして sample2.pdf 単一のPDFドキュメントに merged.pdf。このコードを名前の付いたファイルに保存しますMergePDFs.java.

import org.apache.pdfbox.multipdf.PDFMergerUtility; 
import java.io.File; 
import java.io.IOException;
public class MergePDFs {
   public static void main(String[] args) throws IOException {
      File file1 = new File("C:\\EXAMPLES\\Demo1.pdf");       
      File file2 = new File("C:\\EXAMPLES\\Demo2.pdf");    
		
      //Instantiating PDFMergerUtility class
      PDFMergerUtility PDFmerger = new PDFMergerUtility();
		
      //Setting the destination file
      PDFmerger.setDestinationFileName("C:\\Examples\\merged.pdf");
		
      //adding the source files
      PDFmerger.addSource(file1);
      PDFmerger.addSource(file2);
		
      //Merging the two documents
      PDFmerger.mergeDocuments();
      System.out.println("Documents merged");
   }
}

次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。

javac MergePDFs.java 
java MergePDFs

上記のプログラムを実行すると、指定されたPDFドキュメントが暗号化され、次のメッセージが表示されます。

Documents merged

指定されたパスを確認すると、名前の付いたPDFドキュメントを確認できます。 merged.pdf が作成され、以下に示すように、両方のソースドキュメントのページが含まれます。