Geração de PDF em Java com iText

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é iText e para que serve?

iText é uma biblioteca poderosa para Java, projetada para criar e processar documentos PDF. Ela permite gerar arquivos PDF programaticamente, adicionar texto, imagens, tabelas, formulários e anotações. A biblioteca é amplamente utilizada em aplicações corporativas para automatizar relatórios, faturas, contratos e outros documentos. A principal vantagem do iText é o controle total sobre o conteúdo e a estrutura do PDF.

Instalação do iText

Para adicionar o iText em um projeto Maven, inclua a dependência no pom.xml:

<dependency>    <groupId>com.itextpdf</groupId>    <artifactId>itext7-core</artifactId>    <version>7.2.5</version>    <type>pom</type></dependency>

Para Gradle:

implementation 'com.itextpdf:itext7-core:7.2.5'

Principais funções do iText

  • Criação de PDF do zero: adição de parágrafos, tabelas, imagens.
  • Trabalho com formulários: preenchimento e extração de dados de AcroForms.
  • Criptografia e proteção: definição de senhas, restrição de impressão ou cópia.
  • Conversão de HTML para PDF: usando o módulo html2pdf.
  • Mesclagem e divisão de páginas: trabalho com vários documentos.

Exemplo de código em Java

Vamos criar um PDF simples com texto e tabela:

import com.itextpdf.kernel.pdf.PdfDocument;import com.itextpdf.kernel.pdf.PdfWriter;import com.itextpdf.layout.Document;import com.itextpdf.layout.element.Paragraph;import com.itextpdf.layout.element.Table;

public class PdfGenerator { public static void main(String[] args) throws Exception { String dest = "example.pdf"; PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf);

// Adiciona um título document.add(new Paragraph("Olá, mundo!"));

// Cria uma tabela 3x2 Table table = new Table(3); table.addCell("Nome"); table.addCell("Idade"); table.addCell("Cidade"); table.addCell("Ana"); table.addCell("25"); table.addCell("Moscou"); table.addCell("Ivan"); table.addCell("30"); table.addCell("São Petersburgo");

document.add(table); document.close(); System.out.println("PDF criado: " + dest); }}

Quando usar iText

A biblioteca é ideal para:

  • Geração de relatórios e faturas em aplicações web (Spring Boot, Java EE).
  • Automação de fluxo de documentos: contratos, atas, notas fiscais.
  • Criação de formulários PDF interativos para preenchimento por usuários.
  • Conversão de templates HTML em PDF para impressão ou envio.

iText é o padrão de facto para trabalhar com PDF em Java. Alternativas: Apache PDFBox (mais de baixo nível) e Aspose.PDF (comercial).

Recommendations