iText - Configuração de fonte

Neste capítulo, veremos como definir a cor e a fonte do texto em um documento PDF usando a biblioteca iText.

Definindo a fonte do texto em um PDF

Você pode criar um documento PDF vazio instanciando o Documentclasse. Ao instanciar esta classe, você precisa passar por umPdfDocument objeto como um parâmetro para seu construtor.

Para adicionar um parágrafo ao documento, você precisa instanciar o Paragraph classe e adicionar este objeto ao documento usando o add()método. Você pode definir a cor e a fonte do texto usando os métodossetFontColor() e setFont() respectivamente.

A seguir estão as etapas para definir a cor e a fonte do texto em um documento PDF.

Etapa 1: Criação de um objeto PdfWriter

o PdfWriterclasse representa o DocWriter para um PDF. Esta classe pertence ao pacotecom.itextpdf.kernel.pdf. O construtor desta classe aceita uma string, representando o caminho do arquivo onde o PDF será criado.

Instancie a classe PdfWriter passando um valor de string (representando o caminho onde você precisa criar um PDF) para seu construtor, conforme mostrado abaixo.

// Creating a PdfWriter 
String dest = "C:/itextExamples/fonts.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Quando um objeto desse tipo é passado para um PdfDocument (classe), cada elemento adicionado a este documento será gravado no arquivo especificado.

Etapa 2: Criando um PdfDocument

o PdfDocumentclass é a classe que representa o documento PDF no iText. Esta classe pertence ao pacotecom.itextpdf.kernel.pdf. Para instanciar esta classe (no modo de escrita), você precisa passar um objeto da classePdfWriter para seu construtor.

Instancie a classe PdfDocument passando o objeto PdfWriter para seu construtor, conforme mostrado abaixo.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Depois que um objeto PdfDocument é criado, você pode adicionar vários elementos como página, fonte, anexo de arquivo e manipulador de eventos usando os respectivos métodos fornecidos por sua classe.

Etapa 3: Criando a classe Document

o Document classe do pacote com.itextpdf.layouté o elemento raiz ao criar um PDF autossuficiente. Um dos construtores desta classe aceita um objeto da classe PdfDocument.

Instancie a classe Document passando o objeto da classe PdfDocument criado nas etapas anteriores, conforme mostrado abaixo.

// Creating a Document   
Document document = new Document(pdfDoc);

Etapa 4: Criação de texto

Crie o texto instanciando o Text classe do pacote com.itextpdf.layout.element como mostrado abaixo.

// Creating text object 
Text text = new Text("Tutorialspoint");

Etapa 5: definir a fonte e a cor do texto

Crie o PdfFont objeto usando o createFont() método da aula PdfFontFactory do pacote com.itextpdf.kernel.font como mostrado abaixo

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

Agora, defina a fonte para o texto usando o setFont() método do Textclasse a este método. Passe oPdfFont objeto como parâmetro, conforme mostrado a seguir.

text1.setFont(font);

Para definir a cor do texto, invoque o setFontColor() método da classe Text, conforme mostrado abaixo.

// Setting font color 
text.setFontColor(Color.GREEN);

Etapa 6: Adicionando texto ao parágrafo

Criar uma Paragraph objeto de classe e adicione o texto criado acima usando seu add() método, conforme mostrado abaixo.

// Creating Paragraph 
Paragraph paragraph = new Paragraph();  

// Adding text to the paragraph 
paragraph.add(text);

Etapa 7: Adicionando parágrafo ao documento

Adicione o parágrafo ao documento usando o add() método do Document classe, conforme mostrado abaixo.

doc.add(paragraph1)

Etapa 8: Fechando o Documento

Feche o documento usando o close() método do Document classe, conforme mostrado abaixo.

// Closing the document 
document.close();

Exemplo

O programa Java a seguir demonstra como definir a cor e a fonte do texto em um PDF usando a biblioteca iText. Ele cria um documento PDF com o nomefonts.pdf, formata o texto e o salva no caminho C:/itextExamples/

Salve este código em um arquivo com o nome FormatingTheText.java.

import com.itextpdf.io.font.FontConstants; 
import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.font.PdfFontFactory; 
import com.itextpdf.kernel.font.PdfFont; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph; 
import com.itextpdf.layout.element.Text;  

public class FormatingTheText {     
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/fonts.pdf";   
      PdfWriter writer = new PdfWriter(dest);             
   
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);
   
      // Creating text object       
      Text text1 = new Text("Tutorialspoint");              
   
      // Setting font of the text       
      PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);       
      text1.setFont(font);                 
   
      // Setting font color
      text1.setFontColor(Color.GREEN);
   
      // Creating text object
      Text text2 = new Text("Simply Easy Learning");
      text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));         
      
      // Setting font color
      text2.setFontColor(Color.BLUE);
      
      // Creating Paragraph
      Paragraph paragraph1 = new Paragraph();
      
      // Adding text1 to the paragraph
      paragraph1.add(text1);
      paragraph1.add(text2);
      
      // Adding paragraphs to the document
      doc.add(paragraph1);
      doc.close();       
      
      System.out.println("Text added to pdf ..");   
   }     
}

Compile e execute o arquivo Java salvo no prompt de comando usando os seguintes comandos -

javac FormatingTheText.java 
java FormatingTheText

Após a execução, o programa acima cria um documento PDF exibindo a seguinte mensagem.

Text added to pdf ..

Se você verificar o caminho especificado, poderá encontrar o documento PDF criado, conforme mostrado abaixo.