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.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 13580 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.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!