PDFBox - Ajout de rectangles
Ce chapitre vous apprend à créer des cases de couleur dans une page d'un document PDF.
Création de boîtes dans un document PDF
Vous pouvez ajouter des boîtes rectangulaires dans une page PDF à l'aide de addRect() méthode de la PDPageContentStream classe.
Voici les étapes pour créer des formes rectangulaires dans une page d'un document PDF.
Étape 1: chargement d'un document PDF existant
Charger un document PDF existant en utilisant la méthode statique load() du PDDocumentclasse. Cette méthode accepte un objet fichier en tant que paramètre, puisqu'il s'agit d'une méthode statique, vous pouvez l'appeler en utilisant le nom de classe comme indiqué ci-dessous.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Étape 2: Obtention de l'objet Page
Vous devez récupérer le PDPage objet de la page souhaitée où vous souhaitez ajouter des rectangles à l'aide du getPage() méthode de la PDDocumentclasse. Pour cette méthode, vous devez passer l'index de la page où vous souhaitez ajouter des rectangles.
PDPage page = document.getPage(0);
Étape 3: Préparation du flux de contenu
Vous pouvez insérer différents types d'éléments de données à l'aide de l'objet de la classe nommée PDPageContentStream. Vous devez passer l'objet document et l'objet page au constructeur de cette classe, par conséquent, instancier cette classe en transmettant ces deux objets créés dans les étapes précédentes comme indiqué ci-dessous.
PDPageContentStream contentStream = new PDPageContentStream(document, page);
Étape 4: Définition de la couleur sans contour
Vous pouvez définir la couleur sans contour du rectangle à l'aide de la touche setNonStrokingColor() méthode de la classe PDPageContentStream. Pour cette méthode, vous devez passer la couleur requise comme paramètre comme indiqué ci-dessous.
contentStream.setNonStrokingColor(Color.DARK_GRAY);
Étape 5: Dessiner le rectangle
Dessinez le rectangle avec les dimensions requises à l'aide du addRect()méthode. Pour cette méthode, vous devez transmettre les dimensions du rectangle à ajouter comme indiqué ci-dessous.
contentStream.addRect(200, 650, 100, 100);
Étape 6: Remplir le rectangle
le fill() méthode de la PDPageContentStream class remplit le chemin entre les dimensions spécifiées avec la couleur requise comme indiqué ci-dessous.
contentStream.fill();
Étape 7: fermeture du document
Fermez enfin le document en utilisant close() méthode de la PDDocument classe comme indiqué ci-dessous.
document.close();
Exemple
Supposons que nous ayons un document PDF nommé blankpage.pdf Sur le chemin C:\PdfBox_Examples\ et cela contient une seule page vierge comme indiqué ci-dessous.
Cet exemple montre comment créer / insérer des rectangles dans un document PDF. Ici, nous allons créer une boîte dans un PDF vierge. Enregistrez ce code sousAddRectangles.java.
import java.awt.Color;
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
public class ShowColorBoxes {
public static void main(String args[]) throws Exception {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/BlankPage.pdf");
PDDocument document = PDDocument.load(file);
//Retrieving a page of the PDF Document
PDPage page = document.getPage(0);
//Instantiating the PDPageContentStream class
PDPageContentStream contentStream = new PDPageContentStream(document, page);
//Setting the non stroking color
contentStream.setNonStrokingColor(Color.DARK_GRAY);
//Drawing a rectangle
contentStream.addRect(200, 650, 100, 100);
//Drawing a rectangle
contentStream.fill();
System.out.println("rectangle added");
//Closing the ContentStream object
contentStream.close();
//Saving the document
File file1 = new File("C:/PdfBox_Examples/colorbox.pdf");
document.save(file1);
//Closing the document
document.close();
}
}
Compilez et exécutez le fichier Java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.
javac AddRectangles.java
java AddRectangles
Lors de l'exécution, le programme ci-dessus crée un rectangle dans un document PDF affichant l'image suivante.
Rectangle created
Si vous vérifiez le chemin indiqué et ouvrez le document enregistré - colorbox.pdf, vous pouvez observer qu'une boîte y est insérée comme indiqué ci-dessous.