Introdução
Neste tutorial, você irá aprender como preencher um documento PDF com o Java utilizando a biblioteca PDFBox. Além disso você verá como criar seus próprios formulários ou adicionar campos editáveis a um documento PDF existente.
Criando um formulário simples
Para criar um formulário, vamos utilizar o LibreOffice DrawExiba a barra de ferramentas de formulário. Menu View > Toolbars > Form Controls
Em um documento em branco, insira dois campos de texto:
Exiba as propriedades do campo de texto:
Renomeie os campos para 'txt_1' e 'txt_2' respectivamente. Deixe também a propriedade 'Read-only' como 'yes'.
Exporte o documento como PDF. O meu está como '/tmp/pdf-java.pdf'
O meu template ficou assim:
Preenchendo o PDF pelo Java
Crie um novo projeto Java com maven e inclua a dependência abaixo:Crie uma classe Java com o código abaixo:<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.16</version> </dependency>
public static void main(String[] args) { try { PDDocument pDDocument = PDDocument.load(new File("/tmp/pdf-java.pdf")); PDAcroForm pDAcroForm = pDDocument.getDocumentCatalog().getAcroForm(); PDField field = pDAcroForm.getField("txt_1"); field.setValue("This is a first field printed by Java"); field = pDAcroForm.getField("txt_2"); field.setValue("This is a second field printed by Java"); pDDocument.save("/tmp/pdf-java-output.pdf"); pDDocument.close(); } catch (IOException e) { e.printStackTrace(); } }Execute o programa e veja o resultado:
Lembre-se, o arquivo de final foi salvo em: "/tmp/pdf-java-output.pdf"
Código fonte completo no github:
https://github.com/sandrogiacom/pdf-java
Conclusão
Neste pequeno tutorial, aprendemos como preencher um PDF a partir de um template PDF criado com o LibreOffice Draw. Use a sua criatividade para criar belos templates, fazer automação, criar arquivos em lote.
Deixe nos comentários qual seria seu caso de uso.
Até a próxima!
Comentários
Postar um comentário