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.