Desenvolvimento - Java

Geração de arquivos PDF com Java

Com o uso da API OpenSource iText, é possivel a criação e manipulação de documentos em formato PDF, além de RTF e XML.

por Eric C M Oliveira



Com o uso da API OpenSource iText, é possivel a criação e manipulação de documentos em formato PDF, além de RTF e XML. Como código aberto, essa biblioteca tem distriuição sob licenças MPL e LGPL, permitindo assim sua utilização em sistemas comerciais.

Com essa API, é possivel gerar documentos contendo textos, tabelas, e imagens, e apresenta diversos tipos de fontes. Pode ser usado em apliações Java web ou standalone, com suporte a geração de código de barras.

Vamos demonstrar o uso dessa API com a criação de um documento em pdf.

O primeiro passo é adicionar o JAR do iText ao seu projeto.
O download pode ser feito em: http://prdownloads.sourceforge.net/itext/itext-1.02b.jar

Depois você deve copiar o JAR no seu diretório correspondente ao "j2sdk/jre/lib/ext". Se você estiver desenvolvendo no Eclipse, isso pode ser feito no momento da criação do projeto ou acessando a aba "Java Build Path" das propriedades do seu projeto, e adicionar como "Add External Jar" em "Libraries":

Para criação de um arquivo em formato PDF, deve-se primeiro criar um documento, usando a classe Document, que faz parte da API padrão do Java. Este documento então pode ser formatado de acordo com os requisitos e/ou necessidades. Só então utilizaremos a biblioteca do iText, para a geração de um arquivo PDF a partir desse documento criado inicialmente.

Abaixo segue uma classe simples, modificada a partir de código disponível no "iText Tutorial" (ver referências):

Após a execução da classe acima, verifique em C:// e veja que foi criado um arquivo PDF, conforme nome e conteúdo programado por nós, conforme nas duas figuras abaixo:

Com isso, temos uma classe simples que pode ser usada para geração de diversos tipos de arquivos em pdf, como relatórios, abastecido por consultas a bancos de dados, por exemplo.

Referências:

http://www.lowagie.com/iText/
http://www.lowagie.com/iText/tutorial/
http://prdownloads.sourceforge.net/itext/

Eric C M Oliveira

Eric C M Oliveira - Bacharel em Ciencia da Computação/FASP e Comunicação/Unesp, tem experiência em desenvolvimento Java nas plataformas J2SE, J2EE e J2ME, além de atividades ligadas a disciplina de testes, engenharia e qualidade de software. Tem certificações Java SCJP 1.3, SCJP 1.4, Rational Test Management, Rational Robot e RUP (Rational Unified Process).