iText - Annotation de ligne
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 d'accès 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 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 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.