Jak pracować z operacjami na plikach PDF w Java
Łączenie plików PDF
Użyj PdfFileEditor.concatenate(), aby scalić wiele plików PDF w jeden plik wyjściowy. Przekaż tablicę ścieżek wejściowych oraz docelową ścieżkę wyjścia:
PdfFileEditor editor = new PdfFileEditor();
String[] inputs = {"part1.pdf", "part2.pdf", "part3.pdf"};
editor.concatenate(inputs, "merged.pdf");Wyodrębnianie zakresu stron
Wyodrębnij ciągły zakres stron, podając numery pierwszej i ostatniej strony (liczbowanie od 1). Wyodrębnione strony zostaną zapisane w nowym pliku:
PdfFileEditor editor = new PdfFileEditor();
// Extract pages 2 through 5 (1-indexed)
editor.extract("source.pdf", 2, 5, "extracted.pdf");Rozdzielanie na pojedyncze strony
Podziel dokument, aby każda strona stała się osobnym plikiem. Katalog wyjściowy musi już istnieć przed wywołaniem tej metody:
PdfFileEditor editor = new PdfFileEditor();
editor.splitToPages("document.pdf", "output_dir/");Zmiana rozmiaru zawartości strony
Skaluj zawartość w obrębie istniejących granic strony przy użyciu ContentsResizeParameters. Określ lewy margines, szerokość zawartości, prawy margines, górny margines, wysokość zawartości i dolny margines w procentach — ich suma musi wynosić 100 w każdym wymiarze:
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");
}Tworzenie broszury
Ułóż strony w kolejności druku broszury, aby dokument drukował się prawidłowo po złożeniu. To przestawia i paruje strony odpowiednio do druku dwustronnego:
PdfFileEditor editor = new PdfFileEditor();
editor.makeBooklet("input.pdf", "booklet.pdf");