Gerando arquivos PDF com iText
Veja neste post uma maneira simples de gerar arquivos em PDF com iText, adicionando parágrafos e formatando o texto para gerar arquivos com mais profissionalismo.
Última atualização em: | 14044 Visualizações
Para gerar PDF com iText, primeiro adicione a biblioteca do iText ao seu projeto.
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.2</version>
</dependency>
Caso seu projeto não utilize maven, baixe a biblioteca e adicione manualmente em seu projeto.
Para este exemplo, o arquivo completo do pom.xml
será:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.sample</groupId>
<artifactId>pdf-itext</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.2</version>
</dependency>
</dependencies>
</project>
Note que você pode manter a biblioteca do iText sempre atualizada, conferindo as versão através do link: https://mvnrepository.com/artifact/com.lowagie/itext
Agora basta criar o código que irá gerar seu arquivo. Veja:
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;
public class SampleTest {
public static void main(String[] args) {
// criação do objeto documento
Document document = new Document();
try {
PdfWriter.getInstance(document, new FileOutputStream("/home/wolmir/pdf_ReceitasDeCodigo.pdf"));
document.open();
// adicionando um parágrafo ao documento
document.add(new Paragraph("Gerando um PDF usando iText em Java"));
// adicionando um parágrafo com fonte diferente ao arquivo
document.add(new Paragraph("Adicionando outro paragrafo", FontFactory.getFont(FontFactory.COURIER, 12)));
} catch(DocumentException de) {
System.err.println(de.getMessage());
} catch(IOException ioe) {
System.err.println(ioe.getMessage());
} finally {
document.close();
}
}
}
Entendendo o Código
Primeiro, na linha:
Document document = new Document();
Criamos uma instancia de Document
, classe importada do pacote com.itextpdf.text
. Logo em sequência, usamos o PdfWriter
passando o novo Document
e o caminho que será salvo o arquivo.
Note que para gravar em sua maquina precisa ajustar este caminho.
Em sequência, utilize o document.open()
para iniciar a edição do arquivo.
Por fim, adicione os parágrafos ao documento usando document.add(new Paragraph("..."))
.
Não esqueça de fazer os tratamentos de exceção e de usar no finally
o document.close();
para fechar o arquivo.
Qualquer dúvida deixe nos comentários.
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.