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

Postado em por Wolmir Cezer Garbin em Java | 805 Visualizações
Última atualização em:

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

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

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.


Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar