Pular para o conteúdo principal

Como criar e preencher seu próprio formulário PDF com Java



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 Draw
Exiba 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:
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.16</version>
</dependency>
Crie uma classe Java com o código abaixo:
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

Postagens mais visitadas deste blog

Guia da certificação Java SE 8 Programmer l - Parte 1: Conhecendo a certificação

Seja bem-vindo a série de postagens sobre a certificação Java. Como funciona, o que fazer para comprar, marcar o dia da prova e o principal, o que estudar.

Para ver o índice da série e as datas das publicações, acesse este link

Parte 1 – Conhecendo a certificação
Nesta primeira parte, vamos navegar pelo site da Oracle Education e da Pearson VUE para conhecer como funciona a certificação e se ambientar. Ambos os site estão em Inglês e como já dito no índice da série, a prova não tem opção em português.
Site da Oracle
O site da Oracle não é um dos melhores em usabilidade. Então se procurar por certificação Java no Google, irá encontrar diversos cursos, livros e blogs falando a respeito da certificação menos o site da Oracle.
Pois bem, abaixo o link direto para informações do exame 1Z0-808 - Java SE 8 Programmer I
https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-808

Neste link você encontrará as informações detalhadas do exame, tais co…

Certificação Java 11 - O que mudou

Certificação Java 11 - O que mudou
A Oracle liberou recentemente uma atualização das suas certificações Java para atender a nova versão Java 11 LTS (Long Term Support). Mas o que muda em relação a certificação Java 8? Preciso me atualizar? Por onde começo? Neste post, vamos responder estas e outras questões sobre essa nova série de certificações.Caso você não tenha acompanhado a série sobre certificação, recomendo a leitura dos posts anteriores: https://www.guiadojava.com.br/2018/06/guia-da-certificacao-java-se-8.html

Também temos um bate papo com os maiores especialistas de Java do mercado. Assista o replay aqui:
https://events.genndi.com/replay/169105139238448348/23a5b3a7b0/0/83729443273C
Nomenclatura e requisitosA partir de agora, você não receberá o certificado se fizer apenas a primeira prova, como era no Java 8(1Z0-808 - Java SE 8 Programmer I). Você terá que fazer duas provas para obter o certificado "Oracle Certified Professional: Java SE 11 Developer"
Comparando os nome…

Guia da certificação Java SE 8 Programmer l

Seja bem-vindo a série de postagens sobre a certificação Java. Como funciona, o que fazer para comprar, marcar o dia da prova e o principal, o que estudar.
IntroduçãoNeste guia dividido em 7 partes, você irá saber o que é cobrado na prova denominada “OCA Oracle Certified Associate Java SE 8 Programmer I. Exam 1Z0-808”, assim como os passos para se registrar no exame e fazer a prova. Algumas dicas para ser mais ágil no momento da prova.
Primeiro detalhe importante é que a prova não tem opção em português (existe uma opção em Espanhol). Então é bom se acostumar com a leitura em inglês para poder interpretar as questões. O site para marcar a prova também é todo em Inglês.
A prova tem 70 questões de múltipla escolha que devem ser respondidas em até 150 minutos. O candidato deve obter no mínimo 65% de acerto para receber a certificação.
Vou procurar dar algumas orientações para quem irá fazer a primeira certificação, assim como os que tem certificação em outras versões do Java e querem se atua…