PDFBox - Hinzufügen von Rechtecken

In diesem Kapitel erfahren Sie, wie Sie Farbfelder auf einer Seite eines PDF-Dokuments erstellen.

Erstellen von Boxen in einem PDF-Dokument

Sie können einer PDF-Seite rechteckige Felder hinzufügen, indem Sie die addRect() Methode der PDPageContentStream Klasse.

Im Folgenden werden die Schritte zum Erstellen rechteckiger Formen auf einer Seite eines PDF-Dokuments beschrieben.

Schritt 1: Laden eines vorhandenen PDF-Dokuments

Laden Sie ein vorhandenes PDF-Dokument mit der statischen Methode load() des PDDocumentKlasse. Diese Methode akzeptiert ein Dateiobjekt als Parameter, da dies eine statische Methode ist, die Sie unter Verwendung des Klassennamens wie unten gezeigt aufrufen können.

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

Schritt 2: Abrufen des Seitenobjekts

Sie müssen die abrufen PDPage Objekt der gewünschten Seite, auf der Sie mit dem Rechteck hinzufügen möchten getPage() Methode der PDDocumentKlasse. Für diese Methode müssen Sie den Index der Seite übergeben, auf der Sie Rechtecke hinzufügen möchten.

PDPage page = document.getPage(0);

Schritt 3: Vorbereiten des Inhaltsstroms

Sie können verschiedene Arten von Datenelementen mit dem Objekt der genannten Klasse einfügen PDPageContentStream. Sie müssen das Dokumentobjekt und das Seitenobjekt an den Konstruktor dieser Klasse übergeben. Instanziieren Sie diese Klasse daher, indem Sie diese beiden Objekte übergeben, die in den vorherigen Schritten wie unten gezeigt erstellt wurden.

PDPageContentStream contentStream = new PDPageContentStream(document, page);

Schritt 4: Einstellen der nicht streichelnden Farbe

Sie können die nicht streichelnde Farbe mit dem auf das Rechteck einstellen setNonStrokingColor() Methode der Klasse PDPageContentStream. Für diese Methode müssen Sie die erforderliche Farbe als Parameter übergeben, wie unten gezeigt.

contentStream.setNonStrokingColor(Color.DARK_GRAY);

Schritt 5: Zeichnen des Rechtecks

Zeichnen Sie das Rechteck mit den erforderlichen Abmessungen mit addRect()Methode. Bei dieser Methode müssen Sie die Abmessungen des Rechtecks ​​übergeben, das wie unten gezeigt hinzugefügt werden soll.

contentStream.addRect(200, 650, 100, 100);

Schritt 6: Füllen Sie das Rechteck

Das fill() Methode der PDPageContentStream Klasse füllt den Pfad zwischen den angegebenen Dimensionen mit der erforderlichen Farbe, wie unten gezeigt.

contentStream.fill();

Schritt 7: Schließen des Dokuments

Schließen Sie das Dokument schließlich mit close() Methode der PDDocument Klasse wie unten gezeigt.

document.close();

Beispiel

Angenommen, wir haben ein PDF-Dokument mit dem Namen blankpage.pdf in dem Weg C:\PdfBox_Examples\ und dies enthält eine einzelne leere Seite, wie unten gezeigt.

Dieses Beispiel zeigt, wie Rechtecke in einem PDF-Dokument erstellt / eingefügt werden. Hier erstellen wir eine Box in einem leeren PDF. Speichern Sie diesen Code alsAddRectangles.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();
   }
}

Kompilieren Sie die gespeicherte Java-Datei und führen Sie sie mit den folgenden Befehlen an der Eingabeaufforderung aus.

javac AddRectangles.java 
java AddRectangles

Bei der Ausführung erstellt das obige Programm ein Rechteck in einem PDF-Dokument, in dem das folgende Bild angezeigt wird.

Rectangle created

Wenn Sie den angegebenen Pfad überprüfen und das gespeicherte Dokument öffnen - colorbox.pdfkönnen Sie beobachten, dass ein Feld wie unten gezeigt eingefügt wird.