Come lavorare con le operazioni sui file PDF in Java
Concatenazione di file PDF
Usa PdfFileEditor.concatenate() per unire più file PDF in un unico file di output. Passa un array di percorsi di input e il percorso di output desiderato:
PdfFileEditor editor = new PdfFileEditor();
String[] inputs = {"part1.pdf", "part2.pdf", "part3.pdf"};
editor.concatenate(inputs, "merged.pdf");Estrazione di un intervallo di pagine
Estrai un intervallo continuo di pagine con i numeri di pagina di inizio e fine (indice a partire da 1). Le pagine estratte vengono scritte in un nuovo file:
PdfFileEditor editor = new PdfFileEditor();
// Extract pages 2 through 5 (1-indexed)
editor.extract("source.pdf", 2, 5, "extracted.pdf");Divisione in pagine individuali
Dividi un documento in modo che ogni pagina diventi un file separato. La directory di output deve già esistere prima di chiamare questo metodo:
PdfFileEditor editor = new PdfFileEditor();
editor.splitToPages("document.pdf", "output_dir/");Ridimensionamento del contenuto della pagina
Ridimensiona il contenuto entro i limiti della pagina esistente usando ContentsResizeParameters. Specifica il margine sinistro, la larghezza del contenuto, il margine destro, il margine superiore, l’altezza del contenuto e il margine inferiore in percentuale — devono sommare 100 in ogni dimensione:
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");
}Creazione di un opuscolo
Imponi le pagine nell’ordine di stampa per opuscolo affinché il documento venga stampato correttamente una volta piegato. Questo riordina e accoppia le pagine in modo appropriato per la stampa duplex:
PdfFileEditor editor = new PdfFileEditor();
editor.makeBooklet("input.pdf", "booklet.pdf");