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.