iText - Disegnare un cerchio

In questo capitolo vedremo come disegnare un cerchio su un documento PDF utilizzando la libreria iText.

Disegnare un cerchio 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 del suo costruttore.

Per disegnare un cerchio su un PdfDocument, istanziare il file PdfCanvas classe del pacchetto com.itextpdf.kernel.pdf.canvas e invoca il circle() metodo di questa classe.

Di seguito sono riportati i passaggi per disegnare un cerchio su un 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/drawingCircle.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 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 PdfDocumentclasse. Istanziare il filePdfCanvas oggetto del pacchetto com.itextpdf.kernel.pdf.canvas passando il 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 Impostazione del colore

Imposta il colore del cerchio usando il setColor() metodo del Canvas classe, come mostrato di seguito.

// Setting color to the circle 
Color color = Color.GREEN; 
canvas.setColor(color, true);

Passaggio 6: disegnare il cerchio

Disegna un cerchio invocando il circle() metodo del Canvas, come mostrato di seguito.

// creating a circle 
canvas.circle(300, 400, 200);

Passaggio 7: 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 un cerchio su un documento pdf utilizzando la libreria iText. Crea un documento PDF con il nomedrawingCircle.pdf, disegna un cerchio al suo interno e lo salva nel percorso C:/itextExamples/

Salva questo codice in un file con il nome DrawingCircle.java.

import com.itextpdf.kernel.color.Color; 
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 DrawingCircle {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingCircle.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);  
      
      // Setting color to the circle
      Color color = Color.GREEN;       
      canvas.setColor(color, true);              
      
      // creating a circle
      canvas.circle(300, 400, 200);
      
      // Filling the circle       
      canvas.fill();             
      
      // 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 DrawingCircle.java 
java DrawingCircle

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

Object drawn on pdf successfully

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