iText - Zeichnen einer Linie

In diesem Kapitel erfahren Sie, wie Sie mit der iText-Bibliothek eine Linie in einem PDF-Dokument zeichnen.

Zeichnen einer Linie in einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocument Objekt als Parameter an seinen Konstruktor.

Um eine Linie auf einem PdfDocument zu zeichnen, instanziieren Sie die PdfCanvas Klasse des Pakets com.itextpdf.kernel.pdf.canvas und erstellen Sie eine Linie mit dem moveTo() und lineTO() Methoden dieser Klasse.

Im Folgenden finden Sie die Schritte zum Zeichnen einer Linie im PDF-Dokument.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriterKlasse repräsentiert den DocWriter für ein PDF. Diese Klasse gehört zum Paketcom.itextpdf.kernel.pdf. Der Konstruktor dieser Klasse akzeptiert eine Zeichenfolge, die den Pfad der Datei darstellt, in der die PDF erstellt werden soll.

Instanziieren Sie die PdfWriter-Klasse, indem Sie einen Zeichenfolgenwert (der den Pfad darstellt, in dem Sie eine PDF-Datei erstellen müssen) an ihren Konstruktor übergeben (siehe Abbildung unten).

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingLine.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Wenn ein Objekt dieses Typs an ein PdfDocument (Klasse) übergeben wird, wird jedes zu diesem Dokument hinzugefügte Element in die angegebene Datei geschrieben.

Schritt 2: Erstellen eines PdfDocument-Objekts

Das PdfDocumentKlasse ist die Klasse, die das PDF-Dokument in iText darstellt. Diese Klasse gehört zum Paketcom.itextpdf.kernel.pdf. Um diese Klasse zu instanziieren (im Schreibmodus), müssen Sie ein Objekt der Klasse übergebenPdfWriter zu seinem Konstruktor.

Instanziieren Sie die PdfDocument-Klasse, indem Sie das oben erstellte PdfWriter-Objekt an den Konstruktor übergeben, wie unten gezeigt.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Sobald ein PdfDocument-Objekt erstellt wurde, können Sie verschiedene Elemente wie Seite, Schriftart, Dateianhang und Ereignishandler mit den entsprechenden Methoden seiner Klasse hinzufügen.

Schritt 3: Erstellen des Dokumentobjekts

Das Document Klasse des Pakets com.itextpdf.layoutist das Stammelement beim Erstellen einer autarken PDF-Datei. Einer der Konstruktoren dieser Klasse akzeptiert ein Objekt der Klasse PdfDocument.

Instanziieren Sie die Document Klasse durch Übergeben des Objekts der Klasse PdfDocument in den vorherigen Schritten wie unten gezeigt erstellt.

// Creating a Document   
Document document = new Document(pdfDoc);

Schritt 4: Erstellen eines PdfCanvas-Objekts

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse.

Instanziieren Sie die PdfCanvas Objekt des Pakets com.itextpdf.kernel.pdf.canvas durch Übergabe der oben erstellten PdfPage Objekt an den Konstruktor dieser Klasse, wie unten gezeigt.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Schritt 5: Zeichnen der Linie

Stellen Sie den Anfangspunkt der Linie mit der ein moveTO() Methode der Canvas Klasse, wie unten gezeigt.

// Initial point of the line 
canvas.moveTo(100, 300);

Zeichnen Sie nun mit dem eine Linie von diesem Punkt zu einem anderen Punkt lineTo() Methode, wie unten gezeigt.

// Drawing the line 
canvas.lineTo(500, 300);

Schritt 6: Schließen des Dokuments

Schließen Sie das Dokument mit der close() Methode der Document Klasse, wie unten gezeigt.

// Closing the document 
document.close();

Beispiel

Das folgende Java-Programm zeigt, wie Sie mithilfe der iText-Bibliothek eine Linie in einem PDF-Dokument zeichnen. Es wird ein PDF-Dokument mit dem Namen erstelltdrawingLine.pdf, zeichnet einen Bogen hinein und speichert ihn im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit Namen 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");             
   }     
}

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

javac DrawingLine.java 
java DrawingLine

Bei der Ausführung erstellt das obige Programm ein PDF-Dokument mit der folgenden Meldung.

Object drawn on pdf successfully

Wenn Sie den angegebenen Pfad überprüfen, finden Sie das erstellte PDF-Dokument wie unten gezeigt.