iText 7 para Java: guia completo com exemplos práticos

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

iText 7 para Java: Guia Completo para Criar e Editar PDFs

iText 7 é uma biblioteca poderosa de código aberto (AGPL) para Java, projetada para criar, manipular e renderizar documentos PDF programaticamente. Ela é a sucessora da popular biblioteca iText 5 e oferece uma arquitetura modular totalmente reformulada, focada em desempenho, flexibilidade e facilidade de uso. Com iText 7, desenvolvedores podem resolver uma ampla gama de tarefas: desde a geração de faturas e relatórios simples até a criação de documentos complexos com validade jurídica, incluindo assinaturas digitais, formulários e metadados.

Por que usar iText 7? No mundo atual, o PDF é o formato universal para troca de documentos, garantindo que a aparência permaneça inalterada em qualquer dispositivo. Criar PDFs manualmente é trabalhoso e ineficiente, especialmente ao lidar com grandes volumes de dados. O iText 7 automatiza esse processo, dando aos desenvolvedores Java controle total sobre cada aspecto do documento: desde adicionar texto e imagens até criar formulários interativos e gerenciar permissões de acesso. A biblioteca é indispensável em sistemas de gestão documental, e-commerce, setor bancário e qualquer aplicação que exija geração ou processamento de PDF.

A biblioteca suporta todas as especificações PDF mais recentes, incluindo PDF 2.0. Ela também oferece módulos adicionais (add-ons) para conversão de HTML (pdfHTML), reconhecimento óptico de caracteres (pdfOCR), criação de SVG (pdfSVG) e processamento de imagens (pdfImage). É importante destacar que o iText 7 é distribuído sob licença dupla: AGPL (exige que o código-fonte da sua aplicação seja aberto) e comercial (para uso proprietário).

Instalação

Para instalar o iText 7 no seu projeto Java, utilize o sistema de build Maven ou Gradle. Abaixo está o comando exato para adicionar as dependências no arquivo pom.xml (Maven).

<!-- pom.xml -->
<dependencies>
    <!-- Módulo principal do iText 7 -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext7-core</artifactId>
        <version>8.0.4</version> <!-- Verifique a versão mais recente no Maven Central -->
        <type>pom</type>
    </dependency>
</dependencies>

Para Gradle (build.gradle):

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

Se você precisar apenas de módulos específicos (por exemplo, kernel, layout, io), pode adicioná-los individualmente:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>kernel</artifactId>
    <version>8.0.4</version>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>layout</artifactId>
    <version>8.0.4</version>
</dependency>

Início Rápido: Exemplo Mínimo Funcional

O código a seguir cria um documento PDF simples com o texto "Hello, World!" e o salva no arquivo HelloWorld.pdf.

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

import java.io.FileNotFoundException;

public class HelloWorld {
    public static void main(String[] args) throws FileNotFoundException {
        // 1. Cria um PdfWriter que gravará os dados no arquivo
        PdfWriter writer = new PdfWriter("HelloWorld.pdf");
        
        // 2. Cria um PdfDocument — objeto que representa o próprio documento PDF
        PdfDocument pdf = new PdfDocument(writer);
        
        // 3. Cria um Document — objeto de alto nível para adicionar elementos (texto, tabelas, etc.)
        Docum                    

Recommendations