如何在 Java 中进行 PDF 文件操作

如何在 Java 中进行 PDF 文件操作

合并 PDF 文件

使用 PdfFileEditor.concatenate() 将多个 PDF 文件合并为一个输出文件。传入输入路径数组和目标输出路径:

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");

另请参阅

 中文