Apache PDFBox
Java API para processamento de documentos PDF
Biblioteca Java de código aberto para criar, imprimir e dividir ou mesclar documentos PDF dentro de aplicativos Java.
Apache PDFBox é uma biblioteca Java puro de código aberto para trabalhar com documentos PDF. Usando esta biblioteca, os desenvolvedores Java podem desenvolver programas Java que criam novos documentos PDF e manipulam documentos PDF existentes com facilidade. Ele também permite que os desenvolvedores leiam e extraiam conteúdo de documentos PDF. Além disso, o PDFBox também inclui um utilitário de linha de comando para realizar várias operações em documentos PDF usando o arquivo Jar disponível.
O Portable Document Format (PDF) é um formato de arquivo que ajuda a apresentar dados de maneira independente do software, hardware e sistemas operacionais do aplicativo. O Apache PDFBox suporta vários recursos avançados, como criar, renderizar, imprimir, dividir, mesclar, alterar, verificar e extrair texto e metadados de arquivos PDF.
Introdução ao Apache PDFBox
Em primeiro lugar, você precisa baixar a versão mais recente da página PDFBox download. Para construir o PDFBox com sucesso, você precisa instalar o Java 7 ou superior e o Maven 3 para. Use o seguinte comando de compilação
Comando de instalação
mvn clean instal
O comando compilará as fontes Java e empacotará as classes binárias em pacotes jar por padrão.
API Java para criar e modificar novos documentos PDF
O Apache PDFBox permite que os programadores gerem um novo documento PDF a partir do zero. Depois de criar o documento, os desenvolvedores podem salvá-lo no local desejado. O PDF é um dos formatos de arquivo mais usados atualmente. Os documentos PDF são compatíveis em várias plataformas e representam um documento independentemente do hardware, sistema operacional e software de aplicativo usado para criá-lo. O PDFBox também facilita aos desenvolvedores a modificação de documentos PDF existentes. Os desenvolvedores podem adicionar novas páginas, bem como texto a documentos de páginas existentes.
Criar documento PDF - Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Save document
document.save("fileformat.pdf");
// Close document
document.close();
Dividindo e mesclando documentos PDF usando a biblioteca Java
O Apache PDFBox oferece a capacidade de mesclar vários documentos PDF em um único documento PDF. Para mesclar vários documentos, primeiro você precisa carregar os documentos PDF existentes e, em seguida, definir um caminho para o arquivo de destino. Depois disso, os desenvolvedores podem adicionar todos os arquivos PDF de origem na sequência que gostariam de encontrar no arquivo PDF mesclado final. Podemos dividir o documento PDF fornecido em vários arquivos PDF. Esta classe Splitter é usada para dividir o documento PDF fornecido em vários outros documentos separados.
Mesclar documentos PDF - Java
// Initialize PDFMergerUtility object
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
// Set output file path
pdfMergerUtility.setDestinationFileName("merged.pdf");
// Add source documents
pdfMergerUtility.addSource(new File("document1.pdf"));
pdfMergerUtility.addSource(new File("document2.pdf"));
// Merger documents
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
Adicionar e extrair imagens para documentos PDF dentro de aplicativos Java
O Apache PDFBox facilita aos desenvolvedores Java inserir imagens em um documento PDF existente. As imagens sempre agregam valor real ao conteúdo. As imagens nos ajudam a aprender, chamar a atenção, explicar conceitos e inspirar. PDFBox fornece uma biblioteca para inserir uma imagem em um documento PDF. Esta biblioteca utiliza o programa Java para inserir imagens em documentos PDF. A API também permite que os desenvolvedores extraiam imagens do documento PDF existente e as armazenem no disco local.
Adicionar imagens em PDF - Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Create a new page
PDPage page = new PDPage();
// Add page
document.addPage(page);
// Initialize PDImageXObject object
PDImageXObject pdImage = PDImageXObject.createFromFile("logo.png",document);
// Initialize PDPageContentStream object
PDPageContentStream contents = new PDPageContentStream(document, page);
// Drawing image
contents.drawImage(pdImage, 70, 250);
// Close contents
contents.close();
// save document
document.save("image.pdf");
Imprima documentos PDF de várias maneiras usando a biblioteca Java
O Apache PDFBox permite que os desenvolvedores Java imprimam um documento PDF usando a API de impressão Java padrão. Ele permite que os desenvolvedores imprimam documentos PDF de várias maneiras. Os desenvolvedores agora podem imprimir o documento em seu tamanho real, que é a maneira recomendada de imprimir. Ele suporta impressão com uma caixa de diálogo de visualização de impressão, bem como atributos personalizados. Os desenvolvedores também podem imprimir documentos PDF usando um tamanho de página personalizado e margens personalizadas.
Imprimir arquivo PDF via API Java
import java.awt.print.PrinterException;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
public class Print {
public static void main(String[] args) throws IOException, PrinterException
{
PDDocument pdf=PDDocument.load("d:\\filename.pdf");
pdf.print();
}
}