Como trabalhar com operações de arquivo PDF em Java
Concatenação de arquivos PDF
Utilização: PdfFileEditor.concatenate() para fundir vários ficheiros PDF num único ficheiro de saída. Passe uma matriz de caminhos de entrada e o caminho de saída alvo:
PdfFileEditor editor = new PdfFileEditor();
String[] inputs = {"part1.pdf", "part2.pdf", "part3.pdf"};
editor.concatenate(inputs, "merged.pdf");Extrair um intervalo de páginas
Extrair uma gama contínua de páginas com números de página inicial e final (1-indexado). As páginos extraídas são escritas para um novo arquivo:
PdfFileEditor editor = new PdfFileEditor();
// Extract pages 2 through 5 (1-indexed)
editor.extract("source.pdf", 2, 5, "extracted.pdf");Dividindo em páginas individuais
Divida um documento para que cada página se torne um arquivo separado. O diretório de saída deve já existir antes de chamar este método:
PdfFileEditor editor = new PdfFileEditor();
editor.splitToPages("document.pdf", "output_dir/");Redimensionar o conteúdo da página
Escala o conteúdo dentro dos limites das páginas existentes usando: ContentsResizeParameters. Especificar a margem esquerda, largura do conteúdo, margen direito, Marge superior, altura do contido., e margem inferior em percentagens devem somar-se a 100 para cada dimensão:
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");
}A elaboração de um folheto
Impor páginas na ordem de impressão do livreto para que o documento imprima corretamente quando dobrado. Isto reordena e combina as páginos adequadamente para a impressões duplex:
PdfFileEditor editor = new PdfFileEditor();
editor.makeBooklet("input.pdf", "booklet.pdf");