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

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 requisitos A 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 Dev

Java 15 - Novidades (ou não)

Java 15 - Novidades (ou não) O Java 15 já está em fase de testes com as suas features fechadas (Rampdown Phase One). Isso quer dizer que mais nenhuma feature será implementada. Teremos melhorias em funcionalidades já liberadas para testes e outras consolidadas agora nesta versão, mas nada de grandes mudanças. Porém é sempre bom ficar atualizado não é? Para acompanhar os builds e agenda da liberação, acesse esta página . Revisando o processo de versionamento Com o lançamento do  Java 9 em 2017 , o cronograma de lançamento do Java mudou, de um lançamento principal a cada  3 anos ou mais  para um lançamento a cada  seis meses . Um dos principais motivos dessa alteração foi oferecer aos desenvolvedores acesso mais rápido as melhorias contínuas. Os lançamentos ocorrem em  Março  e  Setembro  de cada ano. Ainda cabe um post específico para o modelo de versionamento para explicar sobre as versões LTS, versões intermediárias e funcionalidades " preview ". Para mais informações, veja

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á