iText - Dessiner un cercle
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 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/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 mode é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.