Как работать с операциями файлов PDF в Java

Как работать с операциями файлов PDF в Java

Объединение 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");

См. также:

 Русский