Adicionar parágrafos com estilo em arquivos PDF gerados pelo iText em java

Veja neste post como adicionar estilos de fontes em parágrafos nos arquivos PDF gerados usando iText e Java

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

Última atualização em: | 7381 Visualizações

Para iniciar você precisa de um projeto em que esteja utilizando iText. Caso não tenha, veja este link que mostramos como adicionar o iText ao seu projeto maven:

Gerando arquivos PDF em Java com iText

Configurar as corres do texto com iText

Considerando que queremos criar uma fonte de um título com iText, podemos criar um parágrafo passando a fonte que queremos aplicar neste parágrafo. Veja o exemplo:

Paragraph pTitulo = new Paragraph(new Phrase(20F , "Receitas de Código", FontFactory.getFont(FontFactory.HELVETICA, 18F)));

Neste estilo foi aplicado a fonte Helvetica tamanho 18

Centralizado texto com iText

Para trabalhar com alinhamentos no iText, pode adicionar passar qual o alinhamento que deseja utilizar direto ao parágrafo. Veja o exemplo:

// centralizado
pTitulo.setAlignment(Element.ALIGN_CENTER);

Dentre os principais alinhamento, podemos citar o Element.ALIGN_CENTER, Element.ALIGN_LEFT, Element.ALIGN_RIGHT e Element.ALIGN_JUSTIFIED;

Italic e Bold em texto com iText

Para aplicar outras formas de estilo aos textos, você pode criar um objeto de fonte, criando toda a configuração de texto que precisar. Veja o exemplo:

Font fontDeLink = new Font(Font.FontFamily.HELVETICA, 10, Font.ITALIC, BaseColor.BLUE);
Paragraph pUrl = new Paragraph(new Phrase(14F , "https://receitasdecodigo.com.br", fontDeLink));

Neste exemplo será aplicado italico ao texto, para usar bold use Font.BOLD, veja:

Font fontDeLink = new Font(Font.FontFamily.HELVETICA, 10, Font.BOLD, BaseColor.BLUE);
Paragraph pUrl = new Paragraph(new Phrase(14F , "https://receitasdecodigo.com.br", fontDeLink));


Exemplo completo gerando PDF com iText

Veja abaixo o exemplo completo utilizado neste post:

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileOutputStream;
import java.io.IOException;

public class SampleTestParagrafos {

    public static void main(String[] args) {

        // criação do objeto documento
        Document document = new Document(PageSize.A4, 10f, 10f, 10f, 10f);

        try {

            PdfWriter.getInstance(document, new FileOutputStream("/home/wolmir/pdf_ReceitasDeCodigo_Estilo.pdf"));
            document.open();

            Paragraph pTitulo = new Paragraph(new Phrase(20F , "Receitas de Código", FontFactory.getFont(FontFactory.HELVETICA, 18F)));
            pTitulo.setAlignment(Element.ALIGN_JUSTIFIED);
            document.add( pTitulo );


            Font fontDeLink = new Font(Font.FontFamily.HELVETICA, 10, Font.BOLD, BaseColor.BLUE);
            Paragraph pUrl = new Paragraph(new Phrase(14F , "https://receitasdecodigo.com.br", fontDeLink));
            pUrl.setAlignment(Element.ALIGN_CENTER);
            document.add( pUrl );

            // 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();
        }
    }

}

O resultado da execução deste código será:

Resultado iText

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!