iText - Tracer une ligne

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 tracer 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 dans lequel le PDF doit être créé.

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

// Creating a PdfWriter 
String dest = "C:/itextExamples/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 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 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.