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
Ú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á:
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.