iText - Guide rapide

Le format PDF (Portable Document Format) est un format de fichier qui permet de présenter les données de manière indépendante des logiciels d'application, du matériel et des systèmes d'exploitation. Chaque fichier PDF contient la description d'un document plat à mise en page fixe, y compris le texte, les polices, les graphiques et d'autres informations nécessaires pour l'afficher.

Il existe plusieurs bibliothèques disponibles pour créer et manipuler des documents PDF via des programmes, tels que -

  • Adobe PDF Library- Cette bibliothèque fournit des API dans des langages tels que C ++, .NET et Java. Grâce à cela, nous pouvons éditer, afficher, imprimer et extraire du texte à partir de documents PDF.

  • Formatting Objects Processor- Formateur d'impression open-source piloté par des objets de formatage XSL et un formateur indépendant de sortie. La principale cible de sortie est le PDF.

  • PDF Box- Apache PDFBox est une bibliothèque Java open source qui prend en charge le développement et la conversion de documents PDF. En utilisant cette bibliothèque, vous pouvez développer des programmes Java qui créent, convertissent et manipulent des documents PDF.

  • Jasper Reports - Il s'agit d'un outil de création de rapports Java qui génère des rapports dans un document PDF comprenant Microsoft Excel, RTF, ODT, des valeurs séparées par des virgules et des fichiers XML.

Qu'est-ce que iText?

Similaire à iText des logiciels énumérés ci-dessus est une bibliothèque Java PDF à l'aide de laquelle vous pouvez développer des programmes Java qui créent, convertissent et manipulent des documents PDF.

Caractéristiques d'iText

Voici les caractéristiques notables de la bibliothèque iText -

  • Interactive- iText vous fournit des classes (API) pour générer des documents PDF interactifs. En utilisant ces derniers, vous pouvez créer des cartes et des livres.

  • Adding bookmarks, page numbers, etc - En utilisant iText, vous pouvez ajouter des signets, des numéros de page et des filigranes.

  • Split & Merge - En utilisant iText, vous pouvez diviser un PDF existant en plusieurs PDF et également y ajouter / concaténer des pages supplémentaires.

  • Fill Forms - En utilisant iText, vous pouvez remplir des formulaires interactifs dans un document PDF.

  • Save as Image - En utilisant iText, vous pouvez enregistrer des fichiers PDF en tant que fichiers image, tels que PNG ou JPEG.

  • Canvas - La bibliothèque iText vous fournit une classe Canvas à l'aide de laquelle vous pouvez dessiner diverses formes géométriques sur un document PDF comme un cercle, une ligne, etc.

  • Create PDFs- En utilisant iText, vous pouvez créer un nouveau fichier PDF à partir de vos programmes Java. Vous pouvez également inclure des images et des polices.

Environnement IText

Suivez les étapes ci-dessous pour définir l'environnement iText sur Eclipse.

Step 1 - Installez Eclipse et ouvrez-y un nouveau projet comme indiqué ci-dessous.

Step 2 - Créer un iTextSample projet comme indiqué ci-dessous.

Step 3- Cliquez avec le bouton droit sur le projet et convertissez-le en projet Maven comme indiqué ci-dessous. Une fois que vous l'avez converti en projet Maven, il vous donnera unpom.xmloù vous devez mentionner les dépendances requises. Par la suite, lejar les fichiers de ces dépendances seront automatiquement téléchargés dans votre projet.

Step 4 - Maintenant, dans le pom.xml du projet, copiez et collez le contenu suivant (dépendances pour l'application iText) et actualisez le projet.

Using pom.xml

Convertissez le projet en projet Maven et ajoutez le contenu suivant à son pom.xml.

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">   
   
   <modelVersion>4.0.0</modelVersion>   
   <groupId>SanthoshExample</groupId>   
   <artifactId>SanthoshExample</artifactId>   
   <version>0.0.1-SNAPSHOT</version>   
   <build>     
      <sourceDirectory>src</sourceDirectory>     
      <plugins>       
         <plugin>         
            <artifactId>maven-compiler-plugin</artifactId>         
            <version>3.5.1</version>         
            <configuration>           
               <source>1.8</source>           
               <target>1.8</target>      
            </configuration>       
         </plugin>     
      </plugins>   
   </build>     
   
   <dependencies>     
      <!-- always needed -->     
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>kernel</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>io</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>layout</artifactId>         
         <version>7.0.2</version>
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>forms</artifactId>         
         <version>7.0.2</version>    
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>pdfa</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>sign</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>barcodes</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>font-asian</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>hyph</artifactId>         
         <version>7.0.2</version>    
      </dependency> 
   </dependencies>
   
</project>

Enfin, si vous observez les dépendances Maven, vous pouvez observer que toutes les jar les fichiers ont été téléchargés.

Voyons maintenant comment créer un document PDF à l'aide de la bibliothèque iText.

Création d'un document PDF vide

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.

Voici les étapes pour créer un document PDF vide.

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

le PdfWriterLa classe représente le rédacteur de documents 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 où 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/sample.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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: Ajouter une page vide

le addNewPage() méthode de la PdfDocument La classe est utilisée pour créer une page vide dans le document PDF.

Ajoutez une page vide au document PDF créé à l'étape précédente comme indiqué ci-dessous.

// Adding an empty page 
pdfDoc.addNewPage();

Étape 4: Création d'un objet 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.

Instancier le Document class 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 5: 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

Voici le programme Java qui montre la création d'un document PDF. Il crée un document PDF avec le nomsample.pdf, y ajoute une page vide et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom create_PDF.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document;  

public class create_PDF {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/sample.pdf";       
      PdfWriter writer = new PdfWriter(dest); 
   
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
   
      // Adding a new page 
      pdfDoc.addNewPage();               
   
      // Creating a Document        
      Document document = new Document(pdfDoc);               
   
      // Closing the document    
      document.close();              
      System.out.println("PDF Created");    
   } 
}

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

javac create_PDF.java 
java create_PDF

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

PDF created

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

Puisqu'il s'agit d'un document vide, si vous essayez d'ouvrir ce document, il affichera un message d'erreur, comme illustré dans la capture d'écran suivante.

Dans ce chapitre, nous verrons comment créer un document PDF avec AreaBreak en utilisant la bibliothèque iText.

Créer un AreaBreak

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter un saut de zone au document, vous devez instancier leAreaBreak classe et add cet objet à documenter en utilisant le add() méthode.

Voici les étapes pour créer un document PDF vide avec AreaBreak.

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

le PdfWriter classe représente le Doc Writer pour un PDF, cette classe appartient au package com.itextpdf.kernel.pdf. Le constructeur de cette classe accepte une chaîne, représentant le chemin du fichier où 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/addingAreaBreak.pdf"; 
PdfWriter writer = new PdfWriter(dest);

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

Étape 2: Création d'un objet PdfDocument

le PdfDocument class est la classe qui représente le document PDF dans iText, cette classe appartient au package com.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 créé ci-dessus à son constructeur, comme illustré ci-dessous.

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

Une fois qu'un objet PdfDocument est créé, vous pouvez ajouter divers éléments comme la page, la police, la pièce jointe, le gestionnaire d'événements en utilisant les méthodes respectives fournies par sa classe.

Étape 3: Création d'un objet 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.

Instancier le Document class 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 d'un objet Saut de zone

le AreaBreak la classe appartient au package com.itextpdf.layout.element. Lors de l'instanciation de cette classe, la zone de contexte actuelle se terminera et une nouvelle sera créée avec la même taille (au cas où nous utiliserions le constructeur par défaut).

Instancier le AreaBreak classe comme indiqué ci-dessous.

// Creating an Area Break    
AreaBreak aB = new AreaBreak();

Étape 5: Ajout de AreaBreak

Ajouter le areabreak objet créé à l'étape précédente à l'aide du add() méthode de la classe Document, comme indiqué ci-dessous.

// Adding area break to the PDF 
document.add(aB);

Étape 6: 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 créer un document PDF avec AreaBreak à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingAreaBreak.pdf, ajoute un areabreak à lui, et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom AddingAreaBreak.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.AreaBreak;  

public class AddingAreaBreak {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingAreaBreak.pdf";       
      PdfWriter writer = new PdfWriter(dest);
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);             
   
      // Creating a Document by passing PdfDocument object to its constructor       
      Document document = new Document(pdf);  
   
      // Creating an Area Break          
      AreaBreak aB = new AreaBreak();           
   
      // Adding area break to the PDF       
      document.add(aB);              
   
      // Closing the document       
      document.close();           
      System.out.println("Pdf created");       
   } 
}

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

javac AddingAreaBreak.java 
java AddingAreaBreak

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

Pdf Created

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

Dans ce chapitre, nous verrons comment créer un document PDF et y ajouter un paragraphe à l'aide de la bibliothèque iText.

Créer un paragraphe

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter un paragraphe au document, vous devez instancier leParagraph classe et ajoutez cet objet au document en utilisant le add() méthode.

Voici les étapes pour créer un document PDF contenant un paragraphe.

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

le PdfWriterLa classe représente le rédacteur de documents 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 où 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/addingParagraph.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Lorsque l'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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 d'un objet Paragraphe

le ParagraphLa classe représente un bloc autonome d'informations textuelles et graphiques. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Paragraph class en passant le contenu du texte sous forme de chaîne à son constructeur, comme indiqué ci-dessous.

String para = "Welcome to Tutorialspoint."; 
// Creating an Area Break    
Paragraph para = new Paragraph (para);

Étape 5: Ajouter un paragraphe

Ajouter le Paragraph objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding area break to the PDF 
document.add(para);

Étape 6: 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 créer un document PDF et y ajouter un paragraphe à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingParagraph.pdf, y ajoute un paragraphe et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom AddingParagraph.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingParagraph {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingParagraph.pdf";       
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      String para1 = "Tutorials Point originated from the idea that there exists 
      a class of readers who respond better to online content and prefer to learn 
      new skills at their own pace from the comforts of their drawing rooms.";  
      
      String para2 = "The journey commenced with a single tutorial on HTML in 2006 
      and elated by the response it generated, we worked our way to adding fresh 
      tutorials to our repository which now proudly flaunts a wealth of tutorials 
      and allied articles on topics ranging from programming languages to web designing 
      to academics and much more.";              
      
      // Creating Paragraphs       
      Paragraph paragraph1 = new Paragraph(para1);             
      Paragraph paragraph2 = new Paragraph(para2);              
      
      // Adding paragraphs to document       
      document.add(paragraph1);       
      document.add(paragraph2);           
      
      // Closing the document       
      document.close();             
      System.out.println("Paragraph added");    
   } 
}

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

javac AddingParagraph.java 
java AddingParagraph

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

Paragraph added

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

Dans ce chapitre, nous verrons comment créer un document PDF et y ajouter une liste à l'aide de la bibliothèque iText.

Créer une liste

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter une liste au document, vous devez instancier leList classe et ajoutez cet objet au document en utilisant le add() méthode.

Voici les étapes pour créer un document PDF et y ajouter une liste.

É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 où 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/addingList.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Lorsque l'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éation d'un objet PdfDocument

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

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet Liste

le Listclass représente une série d'objets délimités verticalement. Il appartient au packagecom.itextpdf.layout.element.

Instancier le List classe comme indiqué ci-dessous.

// Creating a list  
List list = new List();

Étape 5: Ajout d'éléments à la liste

Ajouter du contenu au list objet utilisant le add() méthode de la List class en passant des valeurs String, comme indiqué ci-dessous.

//  Add elements to the list 
list.add("Java"); 
list.add("JavaFX"); 
list.add("Apache Tika"); 
list.add("OpenCV");

Étape 6: Ajout de la liste au document

Ajouter le list objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding list to the document 
document.add(list);

Étape 7: 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 créer un document PDF et y ajouter une liste à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingList.pdf, y ajoute une liste et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec un nom AddingList.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

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

public class AddingList {      
   public static void main(String args[]) throws Exception {               
      // Creating a PdfWriter
      String dest = "C:/itextExamples/addngList.pdf";       
      PdfWriter writer = new PdfWriter(dest);              
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
   
      // Creating a Document        
      Document document = new Document(pdf);              
   
      // Creating a Paragraph       
      Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");
      
      // Creating a list
      List list = new List();  
      
      // Add elements to the list       
      list.add("Java");       
      list.add("JavaFX");      
      list.add("Apache Tika");       
      list.add("OpenCV");       
      list.add("WebGL");       
      list.add("Coffee Script");       
      list.add("Java RMI");       
      list.add("Apache Pig");              
      
      // Adding paragraph to the document       
      document.add(paragraph);                    
     
      // Adding list to the document       
      document.add(list);
      
      // Closing the document       
      document.close();              
      System.out.println("List added");    
   } 
}

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

javac AddingList.java 
java AddingList

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

List added

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

Dans ce chapitre, nous verrons comment créer un document PDF et y ajouter un tableau à l'aide de la bibliothèque iText.

Ajouter une table à un PDF

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre de son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add() méthode.

Voici les étapes pour créer un document PDF avec un tableau.

É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 où le PDF doit être créé.

Instancier le PdfWriter class 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/addingTable.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Lorsque l'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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet Document

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

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules classées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table object 
float [] pointColumnWidths = {150F, 150F, 150F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Ajout de cellules au tableau

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout.element. Ajoutez le contenu de la cellule à l'aide duadd() méthode de cette classe.

Enfin, pour ajouter cette cellule au tableau, appelez le addCell() méthode de la Table classe et passer le cell objet comme paramètre de cette méthode, comme indiqué ci-dessous.

// Adding cell 1 to the table 
Cell cell1 = new Cell();   // Creating a cell 
cell1.add("Name");         // Adding content to the cell 
table.addCell(cell1);      // Adding cell to the table       

// Adding cell 2 to the table Cell 
cell2 = new Cell();       // Creating a cell 
cell2.add("Raju");        // Adding content to the cell 
table.addCell(cell2);     // Adding cell to the table

Étape 6: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 7: 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 créer un document PDF et y ajouter un tableau à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingTable.pdf, y ajoute une table et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom AddingTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class AddingTable {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfDocument object   
      String dest = "C:/itextExamples/addingTable.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 a table       
      float [] pointColumnWidths = {150F, 150F, 150F};   
      Table table = new Table(pointColumnWidths);    
      
      // Adding cells to the table       
      table.addCell(new Cell().add("Name"));       
      table.addCell(new Cell().add("Raju"));       
      table.addCell(new Cell().add("Id"));       
      table.addCell(new Cell().add("1001"));       
      table.addCell(new Cell().add("Designation"));       
      table.addCell(new Cell().add("Programmer"));                 
         
      // Adding Table to document        
      doc.add(table);                  
         
      // Closing the document       
      doc.close();
      System.out.println("Table created successfully..");   
   }     
}

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

javac AddingTable.java 
java AddingTable

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

Table created successfully..

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

Dans ce chapitre, nous verrons comment créer un document PDF et ajouter un tableau et formater le contenu d'une cellule du tableau à l'aide de la bibliothèque iText.

Formatage des cellules dans un tableau

Vous pouvez créer un PDF vide Documenten instanciant la classe Document. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add()méthode. Vous pouvez mettre en forme le contenu d'une cellule dans un tableau à l'aide des méthodes duCell classe.

Voici les étapes pour mettre en forme le contenu d'une cellule dans un tableau.

É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 où 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/addingBackground.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éation d'un objet PdfDocument

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

Instancier le PdfDocument classe en passant le créé ci-dessus PdfWriter object à son constructeur, comme indiqué ci-dessous.

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

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

Étape 3: Création de l'objet 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.

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules, triées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instanciez la classe Table comme indiqué ci-dessous.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Création de cellules

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout.element. Ajoutez le contenu de la cellule à l'aide duadd() méthode de la Cell classe, comme indiqué ci-dessous.

// Adding cell 1 to the table 
Cell cell1 = new Cell();     // Creating a cell 
cell1.add("Name");           // Adding content to the cell       

// Adding cell 2 to the table 
Cell cell2 = new Cell();     // Creating a cell 
cell2.add("Raju");           // Adding content to the cell

Étape 6: Ajout d'un arrière-plan à la cellule

Une fois que vous avez créé la cellule et ajouté du contenu, vous pouvez mettre en forme la cellule. Par exemple, vous pouvez définir son arrière-plan, aligner le texte à l'intérieur de la cellule, changer la couleur du texte, etc., en utilisant différentes méthodes de la classe de cellule telles quesetBackgroundColor(), setBorder(), setTextAlignment().

Vous pouvez définir la couleur d'arrière-plan, la bordure et l'alignement du texte sur la cellule créée à l'étape précédente, comme indiqué ci-dessous.

c1.setBackgroundColor(Color.DARK_GRAY);    // Setting background color to cell1 
c1.setBorder(Border.NO_BORDER);            // Setting border to cell1 
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1

Étape 7: Ajout d'une cellule au tableau

Enfin, pour ajouter cette cellule au tableau, appelez le addCell() méthode de la Table classe et passer le cell objet comme paramètre de cette méthode, comme indiqué ci-dessous.

table.addCell(c1);

Étape 8: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 9: 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 formater le contenu d'une cellule dans un tableau à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingBackground.pdf, y ajoute un tableau, formate le contenu de ses cellules et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom BackgroundToTable.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class BackgroundToTable {      
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingBackground.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object      
      Document doc = new Document(pdfDoc); 
      
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table               
      Cell c1 = new Cell();                        // Creating cell 1 
      c1.add("Name");                              // Adding name to cell 1   
      c1.setBackgroundColor(Color.DARK_GRAY);      // Setting background color
      c1.setBorder(Border.NO_BORDER);              // Setting border
      c1.setTextAlignment(TextAlignment.CENTER);   // Setting text alignment      
      table.addCell(c1);                           // Adding cell 1 to the table 
      
      Cell c2 = new 
      Cell();                               
      c2.add("Raju");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);      
      
      // Populating row 2 and adding it to the table               
      Cell c3 = new Cell();       
      c3.add("Id");       
      c3.setBackgroundColor(Color.WHITE);       
      c3.setBorder(Border.NO_BORDER);       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBackgroundColor(Color.WHITE);       
      c4.setBorder(Border.NO_BORDER);       
      c4.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c4);                          
      
      // Populating row 3 and adding it to the table        
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBackgroundColor(Color.DARK_GRAY);       
      c5.setBorder(Border.NO_BORDER);       
      c5.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c5);                 
      
      Cell c6 = new Cell(); 
      c6.add("Programmer");       
      c6.setBackgroundColor(Color.GRAY);       
      c6.setBorder(Border.NO_BORDER);       
      c6.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Background added successfully..");     
   } 
}

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

javac BackgroundToTable.java 
java BackgroundToTable

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

Background added successfully..

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

Dans ce chapitre, nous verrons comment formater les bordures d'une cellule dans un tableau à l'aide de la bibliothèque iText.

Formatage des bordures d'une cellule

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.

Ensuite, pour ajouter un tableau au document, vous devez instancier le Table classe et ajoutez cet objet au document en utilisant le add() méthode.

Vous pouvez ajouter différents types de bordures comme DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, etc. avec différentes couleurs en utilisant le setBorder() méthode de la Cell classe.

Voici les étapes pour mettre en forme les bordures d'une cellule dans un tableau.

É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 où 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/coloredBorders.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éation d'un objet PdfDocument

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

Instancier le PdfDocument classe en passant le créé ci-dessus PdfWriter object à 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 l'objet 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.

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules classées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Création de cellules

Créez un objet cellule en instanciant le Cell classe du package com.itextpdf.layout.element ajouter le contenu de la cellule à l'aide du add() méthode de la Cell classe, comme indiqué ci-dessous.

// Adding cell 1 to the table 
Cell cell1 = new Cell(); // Creating a cell 
cell1.add("Name");       // Adding content to the cell

Étape 6: Formatage de la bordure de la cellule

La bibliothèque iText fournit diverses classes représentant la bordure telles que DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, etc.

Les constructeurs de ces classes acceptent deux paramètres: a color objet représentant la couleur de la bordure et un integer représentant la largeur de la bordure.

Choisissez l'un de ces types de bordure et instanciez la bordure respective en passant le color objet et un integer représentant la largeur, comme indiqué ci-dessous.

Border b1 = new DashedBorder(Color.RED, 3);

Maintenant, définissez la bordure de la cellule en utilisant le setBorder() méthode de la cellclasse. Cette méthode accepte un objet du typeBorder comme paramètre.

Définissez la bordure de la cellule en passant le ci-dessus créé Border objet comme paramètre du setBorder() méthode comme indiqué ci-dessous.

c1.setBorder(b1)

Enfin, pour ajouter cette cellule au tableau, appelez le addCell() méthode de la Table classe et passer le cell objet comme paramètre de cette méthode, comme indiqué ci-dessous.

table.addCell(c1);

Étape 7: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

É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 formater la bordure d'une cellule dans un tableau à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomcoloredBorders.pdf, y ajoute un tableau, formate le contenu de ses cellules et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom FormatedBorders.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.border.DashedBorder; 
import com.itextpdf.layout.border.DottedBorder; 
import com.itextpdf.layout.border.DoubleBorder; 
import com.itextpdf.layout.border.RoundDotsBorder; 
import com.itextpdf.layout.border.SolidBorder; 

import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class FormatedBorders {      
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/coloredBorders.pdf";   
      
      PdfWriter writer = new 
      PdfWriter(dest);                 

      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                      
   
      // Creating a Document object      
      Document doc = new Document(pdfDoc);                            
   
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths); 
   
      // Adding row 1 to the table
      Cell c1 = new Cell();
      
      // Adding the contents of the cell
      c1.add("Name");
   
      // Setting the back ground color of the cell
      c1.setBackgroundColor(Color.DARK_GRAY);    
   
      // Instantiating the Border class 
      Border b1 = new DashedBorder(Color.RED, 3);
   
      // Setting the border of the cell
      c1.setBorder(b1);
      
      // Setting the text alignment       
      c1.setTextAlignment(TextAlignment.CENTER);
   
      // Adding the cell to the table       
      table.addCell(c1);                          
      Cell c2 = new Cell();       
      c2.add("Raju");       
      c1.setBorder(new SolidBorder(Color.RED, 3));       
      c2.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c2);
   
      // Adding row 2 to the table                
      Cell c3 = new Cell();      
      c3.add("Id"); 
      c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3));       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3));       
      c4.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c4);                          
      
      // Adding row 3 to the table       
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBorder(new RoundDotsBorder(Color.RED, 3));       
      c5.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c5);                 
      
      Cell c6 = new Cell();       
      c6.add("Programmer");       
      c6.setBorder(new RoundDotsBorder(Color.RED, 3)); 
      c6.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Borders added successfully..");     
   } 
}

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

javac FormatedBorders.java 
java FormatedBorders

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

Borders added successfully

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

Dans ce chapitre, nous verrons comment ajouter une image à un tableau dans un document PDF à l'aide de la bibliothèque iText.

Ajout d'une image à un tableau

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add() méthode.

Pour ajouter une image à ce tableau, vous devez instancier le Cell classe, créez et un objet de l'image qui doit être ajouté, ajoutez l'image à la cell objet utilisant le add() méthode de la Cell classe.

Voici les étapes pour insérer une image dans la cellule d'un tableau.

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

le PdfWriter classe représente le Doc Writer pour un PDF, cette classe appartient au package com.itextpdf.kernel.pdf. Le constructeur de cette classe accepte une chaîne, représentant le chemin du fichier où 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/addingImage.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instancier le PdfDocument classe en passant l'objet PdfWriter créé ci-dessus à 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 l'objet Document

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

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules, triées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Création de la cellule

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout, comme indiqué ci-dessous.

// Adding cell to the table
Cell cell = new Cell();  // Creating a cell

Étape 6: Création d'une image

Pour créer le image objet, tout d'abord, créez un ImageData objet utilisant le create() méthode de la ImageDataFactoryclasse. En tant que paramètre de cette méthode, transmettez un paramètre de chaîne représentant le chemin de l'image, comme indiqué ci-dessous.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Maintenant, instanciez le Image classe de la com.itextpdf.layout.elementpaquet. Lors de l'instanciation, passez leImageData objet créé ci-dessus, en tant que paramètre de son constructeur, comme indiqué ci-dessous.

// Creating an Image object 
Image img = new Image(data);

Ajouter le image objet à la cellule en utilisant le add() méthode de la classe de cellules, comme indiqué ci-dessous.

// Adding image to the cell  
cell.add(img.setAutoScale(true));

Étape 7: Ajout d'une cellule au tableau

Enfin, pour ajouter cette cellule au tableau, appelez le addCell() méthode de la Table classe et passer le cell objet comme paramètre de cette méthode, comme indiqué ci-dessous.

table.addCell(cell);

Étape 8: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 9: 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 ajouter une image à une cellule d'un tableau dans un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingImage.pdf, y ajoute un tableau, insère une image (javafxLogo.jpg) dans l'une de ses cellules et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom AddingImageToTable.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Image; 
import com.itextpdf.layout.element.Table;  

public class a3AddingImageToTable {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object 
      String dest = "C:/itextExamples/addingImage.pdf";
      PdfWriter writer = new PdfWriter(dest);    
      
      // Creating a PdfDocument object   
      PdfDocument pdfDoc = new PdfDocument(writer);
      
      // Creating a Document object
      Document doc = new Document(pdfDoc);
      
      // Creating a table
      float [] pointColumnWidths = {150f, 150f};
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table
      Cell cell1 = new Cell();
      cell1.add("Tutorial ID");
      table.addCell(cell1);
      
      Cell cell2 = new Cell();
      cell2.add("1");
      table.addCell(cell2);
      
      // Populating row 2 and adding it to the table
      Cell cell3 = new Cell();
      cell3.add("Tutorial Title");
      table.addCell(cell3);             
      
      Cell cell4 = new Cell(); 
      cell4.add("JavaFX");  
      table.addCell(cell4);
      
      // Populating row 3 and adding it to the table
      Cell cell5 = new Cell();
      cell5.add("Tutorial Author");
      table.addCell(cell5);            
      
      Cell cell6 = new Cell();
      cell6.add("Krishna Kasyap");
      table.addCell(cell6);
      
      // Populating row 4 and adding it to the table
      Cell cell7 = new Cell();
      cell7.add("Submission date");
      table.addCell(cell7);
      
      Cell cell8 = new Cell();
      cell8.add("2016-07-06");
      table.addCell(cell8);              
      
      // Populating row 5 and adding it to the table
      Cell cell9 = new Cell();
      cell9.add("Tutorial Icon");
      table.addCell(cell9);              
      
      // Creating the cell10       
      Cell cell10 = new Cell();              
      
      // Creating an ImageData object       
      String imageFile = "C:/itextExamples/javafxLogo.jpg";       
      ImageData data = ImageDataFactory.create(imageFile);        

      // Creating the image       
      Image img = new Image(data);              

      // Adding image to the cell10       
      cell10.add(img.setAutoScale(true));        

      // Adding cell110 to the table       
      table.addCell(cell10);                         
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Image added to table successfully..");     
   } 
}

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

javac AddingImageToTable.java 
java AddingImageToTable

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

Image added to table successfully..

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

Dans ce chapitre, nous verrons comment ajouter un tableau imbriqué à un tableau dans un document PDF à l'aide de la bibliothèque iText.

Ajout de tableaux imbriqués 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 unPdfDocumentobjet en tant que paramètre, à son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add() méthode.

Pour ajouter un tableau à ce tableau, vous devez créer un autre tableau (tableau imbriqué) et le transmettre à l'objet cellule à l'aide du add() méthode de la Cell classe.

Voici les étapes pour insérer un tableau dans la cellule d'un tableau.

É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 où 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/addingNestedTable.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éation d'un objet 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 écriture), vous devez passer un objet de la classe PdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules, triées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Création de la cellule

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout, comme indiqué ci-dessous.

// Adding cell to the table 
Cell contact = new Cell();    // Creating a cell

Étape 6: Création d'une table imbriquée

Après avoir créé le cell, créez un tableau imbriqué et remplissez ses cellules, comme indiqué ci-dessous.

// Creating nested table for contact   
float [] pointColumnWidths2 = {150f, 150f}; 
Table nestedTable = new Table(pointColumnWidths2);    

// Populating row 1 and adding it to the nested table  
Cell nested1 = new Cell(); 
nested1.add("Phone"); 
nestedTable.addCell(nested1);       

Cell nested2 = new Cell(); 
nested2.add("9848022338"); 
nestedTable.addCell(nested2);  

// Populating row 2 and adding it to the nested table  
Cell nested3 = new Cell(); 
nested3.add("email"); 
nestedTable.addCell(nested3);

Cell nested4 = new Cell(); 
nested4.add("[email protected]"); 
nestedTable.addCell(nested4);     

// Populating row 3 and adding it to the nested table  
Cell nested5 = new Cell(); 
nested5.add("Address"); 
nestedTable.addCell(nested5);  

Cell nested6 = new Cell(); 
nested6.add("Hyderabad"); 
nestedTable.addCell(nested6);

Étape 7: Ajout d'un tableau imbriqué à la cellule

Maintenant, ajoutez la table imbriquée créée ci-dessus à la cellule de la table parent (conteneur) à l'aide du add() méthode de la Cellclasse. Et ajoutez cette cellule à la table parent à l'aide de laaddCell() méthode de la Table classe, comme indiqué ci-dessous.

contact.add(nestedTable); 
table.addCell(contact);

Étape 8: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 9: 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 ajouter un tableau à une cellule d'un tableau (tableau imbriqué) dans un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingNestedTable.pdf, y ajoute un tableau, insère un autre tableau dans l'une de ses cellules et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom AddNestedTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class a4AddNestedTablesPdf {  
   public static void main(String args[]) throws Exception {                        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingNestedTable.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
   
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                      
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                            
   
      // Creating a table       
      float [] pointColumnWidths1 = {150f, 150f};       
      Table table = new Table(pointColumnWidths1);                             
      
      // Populating row 1 and adding it to the table          
      Cell cell1 = new Cell();       
      cell1.add("Name");       
      table.addCell(cell1);             
      
      Cell cell2 = new Cell();       
      cell2.add("Raju");       
      table.addCell(cell2);                          
   
      // Populating row 2 and adding it to the table        
      Cell cell3 = new Cell();       
      cell3.add("Id");       
      table.addCell(cell3);             
      
      Cell cell4 = new Cell();       
      cell4.add("1001");       
      table.addCell(cell4);                    
   
      // Populating row 3 and adding it to the table        
      Cell cell5 = new Cell();       
      cell5.add("Designation");       
      table.addCell(cell5); 
      
      Cell cell6 = new Cell();       
      cell6.add("Programmer");       
      table.addCell(cell6);              
   
      // Creating nested table for contact         
      float [] pointColumnWidths2 = {150f, 150f};       
      Table nestedTable = new Table(pointColumnWidths2);                
      
      // Populating row 1 and adding it to the nested table        
      Cell nested1 = new Cell();       
      nested1.add("Phone");       
      nestedTable.addCell(nested1);                   
      
      Cell nested2 = new Cell();       
      nested2.add("9848022338");       
      nestedTable.addCell(nested2);                   
      
      // Populating row 2 and adding it to the nested table        
      Cell nested3 = new Cell();       
      nested3.add("email");       
      nestedTable.addCell(nested3);                    
      
      Cell nested4 = new Cell();       
      nested4.add("[email protected]");       
      nestedTable.addCell(nested4);                       
      
      // Populating row 3 and adding it to the nested table        
      Cell nested5 = new Cell();       
      nested5.add("Address");       
      nestedTable.addCell(nested5);                    
      
      Cell nested6 = new Cell();       
      nested6.add("Hyderabad");       
      nestedTable.addCell(nested6);              
      
      // Adding table to the cell       
      Cell cell7 = new Cell();       
      cell7.add("Contact");       
      table.addCell(cell7);              
      
      Cell cell8 = new Cell();       
      cell8.add(nestedTable);       
      table.addCell(cell8);
      
      // Adding table to the document       
      doc.add(table);                   
      
      // Closing the document               
      doc.close();  
      System.out.println("Nested Table Added successfully..");     
   } 
}

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

javac AddNestedTable.java 
java AddNestedTable

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

Nested Table Added successfully..

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

Dans ce chapitre, nous verrons comment ajouter une liste à un tableau dans un document PDF à l'aide de la bibliothèque iText.

Ajout de listes à un tableau 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 unPdfDocumentobjet en tant que paramètre de son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add() méthode.

Pour ajouter un list à la table, vous devez instancier le List classe de la com.itextpdf.layout.element emballage et insérez-le dans le cell objet utilisant le add() méthode de la Cell classe.

Voici les étapes pour ajouter une liste à la cellule d'un tableau.

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

le PdfWriterLa classe représente le rédacteur de documents 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 où 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/addingObjects.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éation d'un objet PdfDocument

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

Instancier le PdfDocument classe en passant l'objet PdfWriter créé ci-dessus à 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 l'objet 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.

Instancier le Document class 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 d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules, triées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Création de la cellule

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout, comme indiqué ci-dessous.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

Étape 6: Création d'un objet Liste

Après avoir créé la cellule, créez un list objet en instanciant le List classe du package com.itextpdf.layout.element. Créez les éléments de liste en instanciant leListItem classe et ajoutez les éléments créés à l'aide du add() méthode de la List classe, comme indiqué ci-dessous.

List list = new List(); 
ListItem item1 = new ListItem("JavaFX"); 
ListItem item2 = new ListItem("Java"); 
ListItem item3 = new ListItem("Java Servlets");        
list.add(item1); 
list.add(item2); 
list.add(item3);

Étape 7: Ajouter une liste à la cellule d'un tableau

Maintenant, ajoutez la liste créée ci-dessus à la cellule du tableau en utilisant le add()méthode de la classe Cell. Et ajoutez cette cellule au tableau à l'aide de laaddCell() méthode de la Table classe, comme indiqué ci-dessous.

listCell.add(list); 
table.addCell(listCell);

Étape 8: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 9: 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 ajouter une liste à une cellule d'un tableau dans un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingObjects.pdf, y ajoute un tableau, insère une liste dans l'une de ses cellules et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom AddingListsToTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.ListItem; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class AddingListsToTable {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter object
      String file = "C:/itextExamples/addingObjects.pdf";       
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);               
      
      // Creating a table       
      float [] pointColumnWidths = {300F, 300F};       
      Table table = new Table(pointColumnWidths);                            
      
      // Adding row 1 to the table                
      Cell c1 = new Cell();       
      c1.add("Java Related Tutorials");       
      c1.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c1);                      
      
      List list1 = new List();       
      ListItem item1 = new ListItem("JavaFX");
      ListItem item2 = new ListItem("Java");       
      ListItem item3 = new ListItem("Java Servlets");              
      list1.add(item1);       
      list1.add(item2);       
      list1.add(item3);                 
      
      Cell c2 = new Cell();       
      c2.add(list1);       
      c2.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c2);                 
      
      // Adding row 2 to the table                
      Cell c3 = new Cell();       
      c3.add("No SQL Databases");       
      c3.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c3);                     
      
      List list2 = new List();       
      list2.add(new ListItem("HBase"));       
      list2.add(new ListItem("Neo4j"));       
      list2.add(new ListItem("MongoDB"));                 
      
      Cell c4 = new Cell();       
      c4.add(list2); 
      c4.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c4);                       
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      System.out.println("Lists added to table successfully..");     
   } 
}

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

javac AddingListsToTable.java 
java AddingListsToTable

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

Lists added to table successfully..

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

Dans ce chapitre, nous verrons comment ajouter une image à un document PDF à l'aide de la bibliothèque iText.

Ajouter une image à un PDF

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre, à son constructeur. Pour ajouter une image au PDF, créez un objet de l'image qui doit être ajouté et ajoutez-le à l'aide duadd() méthode de la Document classe.

Voici les étapes pour ajouter une image au 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 où 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/addingImage.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet Image

Pour créer le image objet, tout d'abord, créez un ImageData objet utilisant le create() méthode de la ImageDataFactoryclasse. En tant que paramètre de cette méthode, transmettez un paramètre de chaîne représentant le chemin de l'image, comme indiqué ci-dessous.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Maintenant, instanciez le Image classe de la com.itextpdf.layout.elementpaquet. Lors de l'instanciation, transmettez les éléments créés ci-dessusImageData objet en tant que paramètre de son constructeur, comme indiqué ci-dessous.

// Creating an Image object 
Image img = new Image(data);

Étape 5: Ajout d'une image au document

Ajoutez l'objet image créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding image to the document 
document.add(img);

Étape 6: 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 ajouter une image à un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingImage.pdf, y ajoute une image et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec un nom AddingImage.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter;

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class AddingImage {      
   public static void main(String args[]) throws Exception {              
      
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);        
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                        
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();              
      
      System.out.println("Image added");    
   } 
}

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

javac AddingImage.java 
java AddingImage

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

Image added

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

Dans ce chapitre, nous verrons comment définir la position d'une image dans un document PDF à l'aide de la bibliothèque iText.

Définition de la position de l'image

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 une image au pdf, créez et un objet de l'image qui doit être ajouté et ajoutez-le en utilisant le add() méthode de la Documentclasse. Vous pouvez insérer l'image à la position souhaitée sur le document en utilisant la méthodesetFixedPosition() du Image classe.

Voici les étapes pour définir la position d'une image dans le 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 où 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/positionOfImage.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet Image

Pour créer l'objet image, créez tout d'abord un ImageData objet utilisant le create() méthode de la ImageDataFactoryclasse. En tant que paramètre de cette méthode, transmettez un paramètre de chaîne représentant le chemin de l'image, comme indiqué ci-dessous.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Maintenant, instanciez le Image classe de la com.itextpdf.layout.elementpaquet. Lors de l'instanciation, passez leImageData objet en tant que paramètre de son constructeur, comme indiqué ci-dessous.

// Creating an Image object 
Image img = new Image(data);

Étape 5: réglage de la position de l'image

Vous pouvez définir la position de l'image dans un document PDF à l'aide du setFixedPosition()méthode de l'image. Définissez la position de l'image sur les coordonnées (100, 250) sur le document à l'aide de cette méthode, comme indiqué ci-dessous.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Étape 6: Ajout d'une image au document

Maintenant, ajoutez l'objet image, créé à l'étape précédente, en utilisant le add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding image to the document 
document.add(img);

Étape 7: 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 une image à une position souhaitée sur un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nompositionOfImage.pdf, y ajoute une image, la place plus près du centre de la page et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom SettingPosition.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingPosition {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);             

      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100, 250);                  
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      
      System.out.println("Image added");    
   } 
}

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

javac SettingPosition.java 
java SettingPosition

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

Image added

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

Dans ce chapitre, nous verrons comment mettre à l'échelle une image dans un document PDF à l'aide de la bibliothèque iText.

Mise à l'échelle d'une image 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 une image au PDF, créez un objet de l'image qui doit être ajouté et ajoutez-le à l'aide du add() méthode de la Documentclasse. Vous pouvez mettre à l'échelle une image à l'aide dusetAutoScale() méthode.

Voici les étapes pour mettre à l'échelle une image qui existe sur le 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 où 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/autoScale.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instancier le PdfDocument classe en passant l'objet PdfWriter créé ci-dessus à 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 l'objet 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.

Instancier le Document class 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 d'un objet Image

Pour créer un objet image, créez tout d'abord un ImageData objet utilisant le create() méthode de la ImageDataFactoryclasse. En tant que paramètre de cette méthode, transmettez un paramètre de chaîne représentant le chemin de l'image, comme indiqué ci-dessous.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Maintenant, instanciez le Image classe de la com.itextpdf.layout.elementpaquet. Lors de l'instanciation, passez leImageData objet en tant que paramètre de son constructeur, comme indiqué ci-dessous.

// Creating an Image object 
Image img = new Image(data);

Étape 5: mise à l'échelle d'une image

Vous pouvez mettre à l'échelle une image à l'aide du setAutoScale() méthode.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Étape 6: Ajout d'une image au document

Maintenant, ajoutez le image objet créé à l'étape précédente à l'aide du add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding image to the document 
document.add(img);

Étape 7: 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 mettre à l'échelle une image en fonction de la taille du document sur un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomautoScale.pdf, y ajoute une image, la met à l'échelle par rapport aux dimensions de la page, l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec un nom SettingAutoScale.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingAutoScale {      
   public static void main(String args[]) throws Exception{              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100,250); 
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      System.out.println("Image Scaled");    
   } 
}

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

javac SettingAutoScale.java 
java SettingAutoScale

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

Image Scaled

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

Dans ce chapitre, nous verrons comment insérer une image dans un document PDF et comment faire pivoter cette image, en utilisant les fonctions disponibles dans la bibliothèque iText.

Rotation d'une image 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 une image au PDF, créez un objet de l'image qui doit être ajouté et ajoutez-le à l'aide du add() méthode de la Documentclasse. Vous pouvez faire pivoter une image à l'aide dusetRotationAngle() méthode.

Voici les étapes pour faire pivoter une image 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 où 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/rotatingImage.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éation d'un objet 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 é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 l'objet 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.

Instancier le Document class 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 d'un objet Image

Pour créer un objet image, créez tout d'abord un ImageData objet utilisant le create()méthode de la ImageDataFactoryclasse. En tant que paramètre de cette méthode, transmettez un paramètre de chaîne représentant le chemin de l'image, comme indiqué ci-dessous.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Maintenant, instanciez le Image classe de la com.itextpdf.layout.elementpaquet. Lors de l'instanciation, passez leImageData object, en tant que paramètre de son constructeur, comme indiqué ci-dessous.

// Creating an Image object 
Image img = new Image(data);

Étape 5: faire pivoter une image

Vous pouvez faire pivoter une image à l'aide du setRotationAngle()méthode. Pour cette méthode, vous devez passer un entier représentant l'angle de rotation selon lequel vous souhaitez faire pivoter l'image.

// Rotating the image 
image.setRotationAngle(45);

Étape 6: Ajout d'une image au document

Maintenant, ajoutez l'objet image créé à l'étape précédente en utilisant le add() méthode de la Document classe, comme indiqué ci-dessous.

// Adding image to the document 
document.add(img);

Étape 7: 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 faire pivoter une image d'un angle donné sur un document PDF à l'aide de la bibliothèque iText.

Il crée un document PDF avec le nom rotatingImage.pdf, y ajoute une image, la fait pivoter et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom RotatingImage.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class RotatingImage {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/rotatingImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                
      
      // Rotating the image       
      image.setRotationAngle(45);                       
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close(); 
      
      System.out.println("Image rotated");    
   } 
}

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

javac RotatingImage.java 
java RotatingImage

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

Image Rotated

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

Dans ce chapitre, nous verrons comment ajouter une annotation textuelle à un document PDF à l'aide de la bibliothèque iText.

Création d'une annotation textuelle 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 utiliser l'annotation de texte dans votre document PDF, vous devez créer un objet de PdfTextAnnotation classe et ajoutez ceci à la PdfPage.

Voici les étapes pour utiliser l'annotation de texte dans le 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 où 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/textAnnotation.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instancier le PdfDocument classe en passant le PdfWriter object à 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 l'objet Document

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

Instancier le Document class 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 d'un objet PdfAnnotation

le PdfAnnotation classe du package com.itextpdf.kernel.pdf.annot représente la superclasse de toutes les annotations.

Parmi ses classes dérivées, PdfTextAnnotationclass représente l'annotation de texte. Créez un objet de cette classe comme indiqué ci-dessous.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation ann = new PdfTextAnnotation(rect);

Étape 5: Définition de la couleur de l'annotation

Définissez la couleur de l'annotation à l'aide du setColor() méthode de la PdfAnnotationclasse. À cette méthode, passez lecolor objet représentant la couleur de l'annotation en tant que paramètre.

// Setting color to the annotation 
ann.setColor(Color.GREEN);

Étape 6: Définition du titre et du contenu de l'annotation

Définissez le titre et le contenu de l'annotation à l'aide du setTitle() et setContents() méthodes de la PdfAnnotation classe respectivement, comme indiqué ci-dessous.

// Setting title to the annotation 
ann.setTitle(new PdfString("Hello"));        

// Setting contents of the annotation 
ann.setContents("Hi welcome to Tutorialspoint.");

Étape 7: Ajout de l'annotation à une page

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la classe PdfDocument et ajoutez l'annotation ci-dessus à l'aide de la addAnnotation() méthode de PdfPage classe, comme indiqué ci-dessous.

// Creating a new page PdfPage page = 
pdf.addNewPage();        

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

É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 ajouter une annotation de texte à un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomtextAnnotation.pdf, y ajoute une annotation textuelle et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom TextAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation; 
import com.itextpdf.layout.Document;  

public class TextAnnotation {    
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/textAnnotation.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document        
      Document document = new Document(pdf);             
      
      // Creating PdfTextAnnotation object
      Rectangle rect = new Rectangle(20, 800, 0, 0);       
      PdfAnnotation ann = new PdfTextAnnotation(rect);              
      
      // Setting color to the annotation
      ann.setColor(Color.GREEN);              
      
      // Setting title to the annotation 
      ann.setTitle(new PdfString("Hello"));              
      
      // Setting contents of the annotation       
      ann.setContents("Hi welcome to Tutorialspoint.");              
      
      // Creating a new page       
      PdfPage page =  pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF
      page.addAnnotation(ann);

      // Closing the document       
      document.close();       
      
      System.out.println("Annotation added successfully");    
   } 
}

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

javac TextAnnotation.java 
java TextAnnotation

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

Annotation added successfully

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

Dans ce chapitre, nous verrons comment ajouter une annotation de lien à un document PDF à l'aide de la bibliothèque iText.

Création d'une annotation de lien 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 utiliser l'annotation de texte dans votre document PDF, vous devez créer un objet de la classe PdfTextAnnotation et l'ajouter à la PdfPage.

Voici les étapes pour utiliser l'annotation de 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 où le PDF doit être créé.

Instancier le PdfWriter class 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/linkAnnotation.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant le PdfWriter object à 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 l'objet Document

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

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

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

Étape 4: Création d'un objet PdfAnnotation

le PdfAnnotation classe du package com.itextpdf.kernel.pdf.annot représente la superclasse de toutes les annotations.

Parmi ses classes dérivées, PdfLinkAnnotationclass représente l'annotation du lien. Créez un objet de cette classe, comme indiqué ci-dessous.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

Étape 5: Définition de l'action de l'annotation

Définissez une action sur l'annotation à l'aide du setAction() méthode de la PdfLinkAnnotation classe, comme indiqué ci-dessous.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

Étape 6: création d'un lien

Créez un lien en instanciant le Link classe du package com.itextpdf.layout.element, comme indiqué ci-dessous.

// Creating a link 
Link link = new Link("Click here", annotation);

Étape 7: Ajout de l'annotation de lien à un paragraphe

Créez un nouveau paragraphe en instanciant le Paragraph classe et ajoutez le lien créé à l'étape précédente à l'aide du add() méthode de cette classe, comme indiqué ci-dessous.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

Étape 8: 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.

// Adding paragraph to document 
document.add(paragraph);

Étape 9: 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 ajouter une annotation de lien à un document PDF à l'aide de la bibliothèque iText.

Il crée un document PDF avec le nom linkAnnotation.pdf, y ajoute une annotation de lien et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom LinkAnnotation.java.

import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.action.PdfAction; 
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation; 

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

public class LinkAnnotation {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/linkAnnotation.pdf";       
      
      PdfWriter writer = new 
      PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document
      Document document = new Document(pdf);              
      
      // Creating a PdfLinkAnnotation object       
      Rectangle rect = new Rectangle(0, 0);       
      PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);              
      
      // Setting action of the annotation       
      PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");       
      annotation.setAction(action);             
      
      // Creating a link       
      Link link = new Link("Click here", annotation);              
      
      // Creating a paragraph       
      Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");              
      
      // Adding link to paragraph       
      paragraph.add(link.setUnderline());              
      
      // Adding paragraph to document       
      document.add(paragraph);             

      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");    
   } 
}

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

javac LinkAnnotation.java 
java LinkAnnotation

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

Annotation added successfully

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

Dans ce chapitre, nous verrons comment ajouter une annotation de ligne à un document PDF à l'aide de la bibliothèque iText.

Création d'une annotation de ligne 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, à son constructeur.

Pour utiliser l'annotation de texte dans votre document PDF, vous devez créer un objet de PdfTextAnnotation classe et ajoutez ceci à la PdfPage.

Voici les étapes pour utiliser l'annotation de texte dans le 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 où 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/lineAnnotation.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éation d'un objet PdfDocument

le PdfDocumentclass est la classe qui représente le PDFDocument dans iText. Cette classe appartient au packagecom.itextpdf.kernel.pdf. Pour instancier cette classe (en é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, le gestionnaire d'événements en utilisant les méthodes respectives fournies par sa classe.

Étape 3: Création de l'objet Document

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

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 d'un objet PdfAnnotation

le PdfAnnotation classe du package com.itextpdf.kernel.pdf.annot représente la superclasse de toutes les annotations.

Parmi ses classes dérivées, PdfLineAnnotationclass représente l'annotation de ligne. Créez un objet de cette classe comme indiqué ci-dessous.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation annotation = new PdfLineAnnotation(rect);

Étape 5: Définition de la couleur de l'annotation

Définissez la couleur de l'annotation à l'aide du setColor() méthode de la PdfAnnotationclasse. À cette méthode, passez l'objet couleur représentant la couleur de l'annotation en tant que paramètre.

// Setting color to the annotation 
annotation.setColor(Color.BLUE);

Étape 6: Définition du titre et du contenu de l'annotation

Définissez le titre et le contenu de l'annotation à l'aide du setTitle() et setContents() méthodes de la PdfAnnotation classe respectivement, comme indiqué ci-dessous.

// Setting title to the PdfLineAnnotation 
annotation.setTitle(new PdfString("iText"));        

// Setting contents of the PdfLineAnnotation 
annotation.setContents("Hi welcome to Tutorialspoint");

Étape 7: Ajout de l'annotation à une page

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocument et ajoutez l'annotation créée ci-dessus à l'aide de la méthode addAnnotation () de la classe PdfPage, comme indiqué ci-dessous.

// Creating a new page 
PdfPage page = pdf.addNewPage();

// Adding annotation to a page in a PDF 
page.addAnnotation(annotation);

É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 ajouter une annotation de ligne à un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomlineAnnotation.pdf, y ajoute une annotation de ligne et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec un nom LineAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfLineAnnotation; 
import com.itextpdf.layout.Document;  

public class LineAnnotation {
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/lineAnnotations.pdf";       
      PdfWriter writer = new PdfWriter(dest);               

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

      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating a PdfPage       
      PdfPage page = pdf.addNewPage();              

      // creating PdfLineAnnotation object       
      Rectangle rect = new Rectangle(0, 0);
      float[] floatArray  = new float[]{
         20, 790, page.getPageSize().getWidth() - 20, 790
      };
      PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);              
      
      // Setting color of the PdfLineAnnotation       
      annotation.setColor(Color.BLUE);              
      
      // Setting title to the PdfLineAnnotation       
      annotation.setTitle(new PdfString("iText"));              
      
      // Setting contents of the PdfLineAnnotation       
      annotation.setContents("Hi welcome to Tutorialspoint");              
      
      // Adding annotation to the page       
      page.addAnnotation(annotation);               
      
      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");   
   } 
}

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

javac LineAnnotation.java 
java LineAnnotation

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

Annotation added successfully

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

Dans ce chapitre, nous verrons comment ajouter une annotation de balisage de texte à un document PDF à l'aide de la bibliothèque iText.

Création d'une annotation de balisage 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 unPdfDocumentobjet en tant que paramètre de son constructeur. Pour utiliser l'annotation de texte dans votre document PDF, vous devez créer un objet dePdfTextAnnotation classe et ajoutez ceci à la PdfPage.

Voici les étapes pour utiliser l'annotation de texte dans le 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 où 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/markupAnnotation.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éation d'un objet 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 é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 l'objet Document

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

Instancier le Document class 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 d'un objet PdfAnnotation

le PdfAnnotation classe du package com.itextpdf.kernel.pdf.annot représente la superclasse de toutes les annotations.

Parmi ses classes dérivées, PdfTextMarkupAnnotationclass représente l'annotation de balisage de texte. Créez un objet de cette classe comme indiqué ci-dessous.

// Creating a PdfTextMarkupAnnotation object 
Rectangle rect = new Rectangle(105, 790, 64, 10); 
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);

Étape 5: Définition de la couleur de l'annotation

Définissez la couleur de l'annotation à l'aide du setColor() méthode de la PdfAnnotationclasse. À cette méthode, passez l'objet couleur représentant lecolor de l'annotation en tant que paramètre.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Étape 6: Définition du titre et du contenu de l'annotation

Définissez le titre et le contenu de l'annotation à l'aide du setTitle() et setContents() méthodes de la PdfAnnotation classe respectivement.

// Setting title to the annotation 
annotation.setTitle(new PdfString("Hello!"));        

// Setting contents to the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Étape 7: Ajout de l'annotation à une page

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocument classe et ajoutez l'annotation créée ci-dessus en utilisant le addAnnotation() méthode de la classe PdfPage, comme indiqué ci-dessous.

// Creating a new Pdfpage 
PdfPage pdfPage = pdfDoc.addNewPage();        

// Adding annotation to a page in a PDF 
pdfPage.addAnnotation(annotation);

É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 ajouter une annotation de balisage de texte à un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nommarkupAnnotation.pdf, y ajoute une annotation de balisage de texte et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom MarkupAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;  

public class MarkupAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples/markupAnnotation.pdf";        
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                      
      
      // Creating a PdfTextMarkupAnnotation object       
      Rectangle rect = new Rectangle(105, 790, 64, 10);       
      float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
      PdfAnnotation annotation = 
         PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
      
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
      
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("Hello!"));
      
      // Setting contents to the annotation       
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
      
      // Creating a new Pdfpage
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Adding annotation to a page in a PDF       
      pdfPage.addAnnotation(annotation);
      
      // Closing the document
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }     
}

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

javac MarkupAnnotation.java 
java MarkupAnnotation

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

Annotation added successfully

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

Dans ce chapitre, nous verrons comment ajouter une annotation circulaire à un document PDF à l'aide de la bibliothèque iText.

Création d'une annotation de cercle 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 utiliser l'annotation de texte dans votre document PDF, vous devez créer un objet de la classe PdfTextAnnotation et l'ajouter à la Pdfpage.

Voici les étapes pour utiliser l'annotation de texte dans le 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 où le PDF doit être créé.

Instancier le PdfWriter class 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/circleAnnotation.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éation d'un objet 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 é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 l'objet 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.

Instancier le Document class 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 d'un objet PdfAnnotation

le PdfAnnotation classe du package com.itextpdf.kernel.pdf.annot représente la superclasse de toutes les annotations.

Parmi ses classes dérivées, PdfCircleAnnotationclass représente l'annotation du cercle. Créez un objet de cette classe comme indiqué ci-dessous.

// Creating a PdfCircleAnnotation object Rectangle 
rect = new Rectangle(150, 770, 50, 50); 
PdfAnnotation annotation = new PdfCircleAnnotation(rect);

Étape 5: Définition de la couleur de l'annotation

Définissez la couleur de l'annotation à l'aide du setColor() méthode de la PdfAnnotationclasse. À cette méthode, passez l'objet couleur représentant la couleur de l'annotation en tant que paramètre.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Étape 6: Définition du titre et du contenu de l'annotation

Définissez le titre et le contenu de l'annotation à l'aide du setTitle() et setContents() méthodes de la PdfAnnotation classe respectivement.

// Setting title to the annotation 
annotation.setTitle(new PdfString("circle annotation"));        

// Setting contents of the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Étape 7: Ajout de l'annotation à une page

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocument classe et ajoutez l'annotation créée ci-dessus en utilisant le addAnnotation() méthode de la classe PdfPage, comme indiqué ci-dessous.

// Creating a new page 
PdfPage page = pdf.addNewPage();        

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

É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 ajouter une annotation circulaire à un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomcircleAnnotation.pdf, lui ajoute une annotation circulaire et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom PdfCircleAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfCircleAnnotation; 
import com.itextpdf.layout.Document;  

public class CircleAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples// circleAnnotation.pdf";             
      PdfDocument pdf = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);                      
   
      // Creating a PdfCircleAnnotation object       
      Rectangle rect = new Rectangle(150, 770, 50, 50);       
      PdfAnnotation annotation = new PdfCircleAnnotation(rect);              
   
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
   
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("circle annotation"));              
   
      // Setting contents of the annotation 
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));             
      
      // Creating a new page        
      PdfPage page = pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF       
      page.addAnnotation(annotation);                       
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }   
}

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

javac PdfCircleAnnotation.java 
java PdfCircleAnnotation

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

Annotation added successfully

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

Dans ce chapitre, nous verrons comment dessiner un arc sur un document PDF à l'aide de la bibliothèque iText.

Dessiner un arc sur 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 dessiner un arc sur un PdfDocument, instanciez le PdfCanvas classe du package com.itextpdf.kernel.pdf.canvas et créez un arc en utilisant le arc() méthode de cette classe.

Voici les étapes pour dessiner un arc sur 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 où 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/drawingArc.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Lorsque l'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éation d'un objet 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 é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 l'objet 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.

Instancier le Document class 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 d'un objet PdfCanvas

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocument classe.

Instancier le PdfCanvas objet du colis com.itextpdf.kernel.pdf.canvas en passant le ci-dessus créé PdfPage object au constructeur de cette classe, comme indiqué ci-dessous.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Étape 5: Dessiner l'arc

Dessinez l'arc à l'aide du arc() méthode de la Canvas classe et remplissez-la en utilisant le fill() méthode, comme indiqué ci-dessous.

// Drawing an arc 
canvas.arc(50, 50, 300, 545, 0, 360);   

// Filling the arc 
canvas.fill();

Étape 6: 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 dessiner un arc dans un document PDF à l'aide de la bibliothèque iText.

Il crée un document PDF avec le nom drawingArc.pdf, y dessine un arc et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom DrawingArc.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingArc {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter
      String dest = "C:/itextExamples/drawingArc.pdf";
      PdfWriter writer = new PdfWriter(dest);      

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

      // Creating a Document object
      Document doc = new Document(pdfDoc);

      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();

      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);

      // Drawing an arc
      canvas.arc(50, 50, 300, 545, 0, 360);

      // Filling the arc
      canvas.fill();              

      // Closing the document
      doc.close();
      
      System.out.println("Object drawn on pdf successfully");       
   }     
}

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

javac DrawingArc.java 
java DrawingArc

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

Object drawn on pdf successfully

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

Dans ce chapitre, nous verrons comment dessiner une ligne sur un document PDF à l'aide de la bibliothèque iText.

Dessiner une ligne sur 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, à son constructeur.

Pour dessiner une ligne sur un PdfDocument Instanciez le PdfCanvas classe du package com.itextpdf.kernel.pdf.canvas et créez une ligne en utilisant le moveTo() et lineTO() méthodes de cette classe.

Voici les étapes pour tracer une ligne sur le 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 où 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/drawingLine.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet PdfCanvas

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocument classe.

Instancier le PdfCanvas objet du colis com.itextpdf.kernel.pdf.canvas en passant le ci-dessus créé PdfPage object au constructeur de cette classe, comme indiqué ci-dessous.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Étape 5: Tracer la ligne

Définissez le point initial de la ligne à l'aide du moveTO() méthode de la Canvas classe, comme indiqué ci-dessous.

// Initial point of the line 
canvas.moveTo(100, 300);

Maintenant, tracez une ligne de ce point à un autre point en utilisant le lineTo() méthode, comme indiqué ci-dessous.

// Drawing the line 
canvas.lineTo(500, 300);

Étape 6: 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 dessiner une ligne dans un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomdrawingLine.pdf, y dessine un arc et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec un nom DrawingLine.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingLine {     
   public static void main(String args[]) throws Exception {            
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingLine.pdf";             
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                
      
      // Creating a new page       
      PdfPage pdfPage = pdfDoc.addNewPage();               
      
      // Creating a PdfCanvas object       
      PdfCanvas canvas = new PdfCanvas(pdfPage);              
      
      // Initial point of the line       
      canvas.moveTo(100, 300);              
      
      // Drawing the line       
      canvas.lineTo(500, 300);           
      
      // Closing the path stroke       
      canvas.closePathStroke();              
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");             
   }     
}

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

javac DrawingLine.java 
java DrawingLine

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

Object drawn on pdf successfully

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

Dans ce chapitre, nous verrons comment dessiner un cercle sur un document PDF en utilisant la bibliothèque iText.

Dessiner un cercle sur 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 dessiner un cercle sur un PdfDocument, instanciez le PdfCanvas classe du package com.itextpdf.kernel.pdf.canvas et invoquez le circle() méthode de cette classe.

Voici les étapes pour dessiner un cercle sur 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 où 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/drawingCircle.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éation d'un objet 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter à son constructeur, comme illustré 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 l'objet 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.

Instancier le Document class 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 d'un objet PdfCanvas

Créer un nouveau PdfPage classe en utilisant le addNewPage() méthode de la PdfDocumentclasse. Instancier lePdfCanvas objet du colis com.itextpdf.kernel.pdf.canvas en passant le PdfPage object au constructeur de cette classe, comme indiqué ci-dessous.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Étape 5 Réglage de la couleur

Réglez la couleur du cercle à l'aide du setColor() méthode de la Canvas classe, comme indiqué ci-dessous.

// Setting color to the circle 
Color color = Color.GREEN; 
canvas.setColor(color, true);

Étape 6: dessiner le cercle

Dessinez un cercle en invoquant le circle() méthode de la Canvas, comme indiqué ci-dessous.

// creating a circle 
canvas.circle(300, 400, 200);

Étape 7: 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 dessiner un cercle sur un document PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomdrawingCircle.pdf, y dessine un cercle et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom DrawingCircle.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingCircle {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingCircle.pdf";           
      PdfWriter writer = new PdfWriter(dest);            
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);

      // Creating a Document object
      Document doc = new Document(pdfDoc);
      
      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);  
      
      // Setting color to the circle
      Color color = Color.GREEN;       
      canvas.setColor(color, true);              
      
      // creating a circle
      canvas.circle(300, 400, 200);
      
      // Filling the circle       
      canvas.fill();             
      
      // Closing the document 
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");
   }     
}

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

javac DrawingCircle.java 
java DrawingCircle

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

Object drawn on pdf successfully

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

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 où 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 é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.

Dans ce chapitre, nous verrons comment mettre à l'échelle une image sur un document PDF à l'aide de la bibliothèque iText.

Réduire le contenu d'un PDF

Voici les étapes pour réduire le contenu d'une page PDF à l'aide de la bibliothèque iText.

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

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 où 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 object 
String dest = "C:/itextExamples/shrinking.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Pour lire les données d'un pdf existant, créez un PdfReader objet comme indiqué ci-dessous.

// Creating a PdfReader 
String src = "C:/itextExamples/pdfWithImage.pdf"; 
PdfReader reader = new PdfReader(src);

Étape 2: Création d'un ou plusieurs objets 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 écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Créez des documents PDF source et de destination en passant le PdfWriter et PdfReader objets aux constructeurs, comme indiqué ci-dessous.

// Creating a PdfDocument objects 
PdfDocument destpdf = new PdfDocument(writer);         
PdfDocument srcPdf = new PdfDocument(reader);

Étape 3: Ouverture d'une page à partir du PDF existant

Obtenez une page du PDF source à l'aide de getPage() méthode de la PdfPageclasse. À l'aide de cet objet, obtenez la taille de la page du document source, comme indiqué ci-dessous.

// Opening a page from the existing PDF 
PdfPage origPage = srcPdf.getPage(1);       

// Getting the page size 
Rectangle orig = origPage.getPageSizeWithRotation();

Étape 4: Réduire le contenu du pdf source

En utilisant le getScaleInstance() méthode de la AffineTransform classe, réduisez le contenu d'une page du document source, comme indiqué ci-dessous.

// Shrink original page content using transformation matrix 
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(    
   page.getPageSize().getWidth()/ orig.getWidth()/2,    
   page.getPageSize().getHeight()/ orig.getHeight()/2);

Étape 5: Copie de la page

Concaténer le affine transform matrix, créé à l'étape précédente, à la matrice du canvas objet du document PDF de destination, comme indiqué ci-dessous.

// Concatenating the affine transform matrix to the current matrix 
PdfCanvas canvas = new PdfCanvas(page);       
canvas.concatMatrix(transformationMatrix);

Maintenant, ajoutez la copie de page au canvas objet du PDF de destination vers le document source, comme indiqué ci-dessous.

// Add the object to the canvas 
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); 
canvas.addXObject(pageCopy, 0, 0);

Étape 6: Création de l'objet 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.

Instancier le Document class en passant l'objet de la classe PdfDocument, comme indiqué ci-dessous.

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

Étape 7: 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 réduire le contenu d'une page PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomshrinkingPDF.pdf, réduit l'image dans le pdf et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec un nom ShrinkingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 

import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; 
import com.itextpdf.layout.Document;  

public class ShrinkPDF {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object
      String dest = "C:/itextExamples/shrinking.pdf";
      PdfWriter writer = new PdfWriter(dest);
      
      // Creating a PdfReader
      String src = "C:/itextExamples/pdfWithImage.pdf";
      PdfReader reader = new PdfReader(src);
      
      // Creating a PdfDocument objects
      PdfDocument destpdf = new PdfDocument(writer);
      PdfDocument srcPdf = new PdfDocument(reader);
         
      // Opening a page from the existing PDF 
      PdfPage origPage = srcPdf.getPage(1);
         
      // Getting the page size
      Rectangle orig = origPage.getPageSizeWithRotation();
         
      // Adding a page to destination Pdf
      PdfPage page = destpdf.addNewPage();
         
      // Scaling the image in a Pdf page     
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
         page.getPageSize().getWidth()/orig.getWidth()/2,
         page.getPageSize().getHeight()/ orig.getHeight()/2);
      
      // Shrink original page content using transformation matrix
      PdfCanvas canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      
      // Add the object to the canvas
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
      canvas.addXObject(pageCopy, 0, 0);
      
      // Creating a Document object
      Document doc = new Document(destpdf);
      
      // Closing the document
      doc.close();
      
      System.out.println("Table created successfully..");
   }
}

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

javac ShrinkingPDF.java 
java ShrinkingPDF

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

Table created successfully..

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

Le programme Java suivant montre comment tuiler le contenu d'une page PDF sur différentes pages à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomtilingPdfPages.pdf et l'enregistre dans le chemin C:/itextExamples/.

Enregistrez ce code dans un fichier avec le nom TilingPDFPages.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  

public class TilingPDFPages {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/tilingPdfPages.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
      
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);               
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);               
      
      // Getting the page size       
      Rectangle orig = origPage.getPageSizeWithRotation();    
      
      // Getting the size of the page       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);  
      
      // Tile size 
      Rectangle tileSize = PageSize.A4.rotate();       
      AffineTransform transformationMatrix = 
         AffineTransform.getScaleInstance(tileSize.getWidth() / orig.getWidth() * 
         2f, tileSize.getHeight() / orig.getHeight() * 2f);              
      
      // The first tile       
      PdfPage page = 
      destpdf.addNewPage(PageSize.A4.rotate());       
      
      PdfCanvas canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);      
      canvas.addXObject(pageCopy, 0, -orig.getHeight() / 2f);              
      
      // The second tile       
      page = destpdf.addNewPage(PageSize.A4.rotate());       
      canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);        
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, -orig.getHeight() / 2f);
      
      // The third tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, 0, 0);    
      
      // The fourth tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, 0);
      
      // closing the documents
      destpdf.close();
      srcPdf.close();
      
      System.out.println("PDF created successfully..");
   }
}

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

javac TilingPDFPages.java 
java TilingPDFPages

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

PDF created successfully..

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

Le programme Java suivant montre comment effectuer N-up sur une page PDF à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomnUppingPDF.pdf et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom NUppingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  
   
public class NUppingPDF {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/nUppingPDF.pdf";       
      PdfWriter writer = new PdfWriter(dest);                
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
         
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);                
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);       
      Rectangle orig = origPage.getPageSize();       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);              
      
      // N-up page       
      PageSize nUpPageSize = PageSize.A4.rotate();       
      PdfPage page = destpdf.addNewPage(nUpPageSize);       
      PdfCanvas canvas = new PdfCanvas(page);              
      
      // Scale page       
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance( 
         nUpPageSize.getWidth() / orig.getWidth() / 
         2f, nUpPageSize.getHeight() / orig.getHeight() / 2f);       
      canvas.concatMatrix(transformationMatrix);              
      
      // Add pages to N-up page       
      canvas.addXObject(pageCopy, 0, orig.getHeight());       
      canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());       
      canvas.addXObject(pageCopy, 0, 0);       
      canvas.addXObject(pageCopy, orig.getWidth(), 0);              
      
      // closing the documents       
      destpdf.close();       
      srcPdf.close();              
      
      System.out.println("PDF created successfully..");   
   } 
}

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

javac NUppingPDF.java 
java NUppingPDF

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

PDF created successfully..

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