iText - Tracciare una linea

In questo capitolo vedremo come disegnare una linea su un documento PDF usando la libreria iText.

Disegnare una linea su un PDF

È possibile creare un documento PDF vuoto istanziando il file Documentclasse. Durante la creazione di un'istanza di questa classe, è necessario superare un filePdfDocument oggetto come parametro, al suo costruttore.

Per disegnare una linea su un PdfDocument Istanziare il file PdfCanvas classe del pacchetto com.itextpdf.kernel.pdf.canvas e crea una linea usando il moveTo() e lineTO() metodi di questa classe.

Di seguito sono riportati i passaggi per tracciare una linea sul documento PDF.

Passaggio 1: creazione di un oggetto PdfWriter

Il PdfWriterclass rappresenta il DocWriter per un PDF. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Il costruttore di questa classe accetta una stringa, che rappresenta il percorso del file in cui deve essere creato il PDF.

Istanziare la classe PdfWriter passando un valore stringa (che rappresenta il percorso in cui è necessario creare un PDF) al suo costruttore, come mostrato di seguito.

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

Quando un oggetto di questo tipo viene passato a un PdfDocument (classe), ogni elemento aggiunto a questo documento verrà scritto nel file specificato.

Passaggio 2: creazione di un oggetto PdfDocument

Il PdfDocumentclass è la classe che rappresenta il documento PDF in iText. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Per istanziare questa classe (in modalità di scrittura), è necessario passare un oggetto della classePdfWriter al suo costruttore.

Istanziare la classe PdfDocument passando l'oggetto PdfWriter creato sopra al suo costruttore, come mostrato di seguito.

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

Una volta creato un oggetto PdfDocument, è possibile aggiungere vari elementi come pagina, font, file allegati e gestore eventi utilizzando i rispettivi metodi forniti dalla sua classe.

Passaggio 3: creazione dell'oggetto Documento

Il Document classe del pacchetto com.itextpdf.layoutè l'elemento principale durante la creazione di un PDF autosufficiente. Uno dei costruttori di questa classe accetta un oggetto della classe PdfDocument.

Istanziare il file Document class passando l'oggetto della classe PdfDocument creato nei passaggi precedenti come mostrato di seguito.

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

Passaggio 4: creazione di un oggetto PdfCanvas

Creane uno nuovo PdfPage classe utilizzando il addNewPage() metodo del PdfDocument classe.

Istanziare il file PdfCanvas oggetto del pacchetto com.itextpdf.kernel.pdf.canvas passando quanto sopra creato PdfPage oggetto al costruttore di questa classe, come mostrato di seguito.

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

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

Passaggio 5: tracciare la linea

Impostare il punto iniziale della linea utilizzando il moveTO() metodo del Canvas classe, come mostrato di seguito.

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

Ora, traccia una linea da questo punto a un altro punto usando il lineTo() metodo, come mostrato di seguito.

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

Passaggio 6: chiusura del documento

Chiudere il documento utilizzando il file close() metodo del Document classe, come mostrato di seguito.

// Closing the document 
document.close();

Esempio

Il seguente programma Java mostra come disegnare una linea in un documento PDF utilizzando la libreria iText. Crea un documento PDF con il nomedrawingLine.pdf, disegna un arco al suo interno e lo salva nel percorso C:/itextExamples/

Salva questo codice in un file con nome 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");             
   }     
}

Compilare ed eseguire il file Java salvato dal prompt dei comandi utilizzando i seguenti comandi:

javac DrawingLine.java 
java DrawingLine

Al momento dell'esecuzione, il programma di cui sopra crea un documento PDF, visualizzando il seguente messaggio.

Object drawn on pdf successfully

Se verifichi il percorso specificato, puoi trovare il documento PDF creato, come mostrato di seguito.