iText - Définition de la police

Dans ce chapitre, nous verrons comment définir la couleur et la police du texte dans un document PDF à l'aide de la bibliothèque iText.

Définition de la police du texte dans un PDF

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocument objet en tant que paramètre de son constructeur.

Pour ajouter un paragraphe au document, vous devez instancier le Paragraph classe et ajoutez cet objet au document en utilisant le add()méthode. Vous pouvez définir la couleur et la police du texte à l'aide des méthodessetFontColor() et setFont() respectivement.

Voici les étapes pour définir la couleur et la police du texte dans un document PDF.

Étape 1: Création d'un objet PdfWriter

le PdfWriterLa classe représente le DocWriter pour un PDF. Cette classe appartient au packagecom.itextpdf.kernel.pdf. Le constructeur de cette classe accepte une chaîne, représentant le chemin du fichier dans lequel le PDF doit être créé.

Instanciez la classe PdfWriter en passant une valeur de chaîne (représentant le chemin où vous devez créer un PDF) à son constructeur, comme indiqué ci-dessous.

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

Lorsqu'un objet de ce type est passé à un PdfDocument (classe), chaque élément ajouté à ce document sera écrit dans le fichier spécifié.

Étape 2: Créer un PdfDocument

le PdfDocumentclass est la classe qui représente le document PDF dans iText. Cette classe appartient au packagecom.itextpdf.kernel.pdf. Pour instancier cette classe (en mode écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter à son constructeur, comme indiqué ci-dessous.

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

Une fois qu'un objet PdfDocument est créé, vous pouvez ajouter divers éléments tels que la page, la police, la pièce jointe et le gestionnaire d'événements à l'aide des méthodes respectives fournies par sa classe.

Étape 3: Création de la classe Document

le Document classe du package com.itextpdf.layoutest l'élément racine lors de la création d'un PDF autonome. L'un des constructeurs de cette classe accepte un objet de la classe PdfDocument.

Instanciez la classe Document en passant l'objet de la classe PdfDocument créé dans les étapes précédentes, comme indiqué ci-dessous.

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

Étape 4: Création de texte

Créez le texte en instanciant le Text classe du package com.itextpdf.layout.element comme indiqué ci-dessous.

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

Étape 5: Définition de la police et de la couleur du texte

Créer le PdfFont objet utilisant le createFont() méthode de la classe PdfFontFactory du forfait com.itextpdf.kernel.font comme indiqué ci-dessous

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

Maintenant, définissez la police sur le texte en utilisant le setFont() méthode de la Textclasse à cette méthode. Passe lePdfFont objet en tant que paramètre, comme indiqué ci-dessous.

text1.setFont(font);

Pour définir la couleur du texte, appelez le setFontColor() méthode de la classe Text, comme indiqué ci-dessous.

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

Étape 6: Ajout de texte au paragraphe

Créer un Paragraph objet de classe et ajoutez le texte créé ci-dessus en utilisant son add() méthode, comme indiqué ci-dessous.

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

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

Étape 7: Ajout d'un paragraphe au document

Ajoutez le paragraphe au document en utilisant le add() méthode de la Document classe, comme indiqué ci-dessous.

doc.add(paragraph1)

Étape 8: fermeture du document

Fermez le document à l'aide du close() méthode de la Document classe, comme indiqué ci-dessous.

// Closing the document 
document.close();

Exemple

Le programme Java suivant montre comment définir la couleur et la police du texte dans un PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomfonts.pdf, met en forme le texte et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom 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 ..");   
   }     
}

Compilez et exécutez le fichier Java enregistré à partir de l'invite de commande à l'aide des commandes suivantes -

javac FormatingTheText.java 
java FormatingTheText

Lors de l'exécution, le programme ci-dessus crée un document PDF affichant le message suivant.

Text added to pdf ..

Si vous vérifiez le chemin spécifié, vous pouvez trouver le document PDF créé, comme indiqué ci-dessous.