Java で PDF ファイル操作を扱う方法

Java で PDF ファイル操作を扱う方法

PDF ファイルの結合

PdfFileEditor.concatenate() を使用して複数の PDF ファイルを 1 つの出力ファイルに結合します。入力パスの配列と対象の出力パスを渡します:

PdfFileEditor editor = new PdfFileEditor();
String[] inputs = {"part1.pdf", "part2.pdf", "part3.pdf"};
editor.concatenate(inputs, "merged.pdf");

ページ範囲の抽出

開始ページ番号と終了ページ番号(1 から始まる)で連続したページ範囲を抽出します。抽出されたページは新しいファイルに書き込まれます:

PdfFileEditor editor = new PdfFileEditor();
// Extract pages 2 through 5 (1-indexed)
editor.extract("source.pdf", 2, 5, "extracted.pdf");

ページごとの分割

各ページを個別のファイルに分割します。このメソッドを呼び出す前に、出力ディレクトリが既に存在している必要があります:

PdfFileEditor editor = new PdfFileEditor();
editor.splitToPages("document.pdf", "output_dir/");

ページコンテンツのリサイズ

既存のページ境界内でコンテンツを ContentsResizeParameters を使用してスケールします。左余白、コンテンツ幅、右余白、上余白、コンテンツ高さ、下余白をパーセンテージで指定してください—各次元で合計が100になる必要があります:

try (Document doc = new Document("input.pdf")) {
    PdfFileEditor editor = new PdfFileEditor();
    ContentsResizeParameters params = new ContentsResizeParameters(
        ContentsResizeValue.percents(10),  // left margin
        ContentsResizeValue.percents(80),  // content width
        ContentsResizeValue.percents(10),  // right margin
        ContentsResizeValue.percents(10),  // top margin
        ContentsResizeValue.percents(80),  // content height
        ContentsResizeValue.percents(10)   // bottom margin
    );
    editor.resizeContents(doc, params);
    doc.save("resized.pdf");
}

小冊子の作成

折りたたんだときに正しく印刷されるように、ブックレット印刷順にページを配置します。これにより、両面印刷用にページが適切に再配置およびペアリングされます:

PdfFileEditor editor = new PdfFileEditor();
editor.makeBooklet("input.pdf", "booklet.pdf");

参照

 日本語