iText - Impostazione della posizione dell'immagine

In questo capitolo vedremo come impostare la posizione di un'immagine in un documento PDF utilizzando la libreria iText.

Impostazione della posizione dell'immagine

È 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 aggiungere un'immagine al pdf, creare un oggetto dell'immagine che deve essere aggiunto e aggiungerlo utilizzando il file add() metodo del Documentclasse. È possibile inserire l'immagine in una posizione desiderata sul documento utilizzando il metodosetFixedPosition() del Image classe.

Di seguito sono riportati i passaggi per impostare la posizione di un'immagine nel 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/positionOfImage.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 immagine

Per creare l'oggetto immagine, prima di tutto, crea un file ImageData oggetto utilizzando il create() metodo del ImageDataFactoryclasse. Come parametro di questo metodo, passare un parametro stringa che rappresenta il percorso dell'immagine, come mostrato di seguito.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Ora, istanzia il file Image classe di com.itextpdf.layout.elementpacchetto. Durante l'istanza, passa il fileImageData oggetto come parametro del suo costruttore, come mostrato di seguito.

// Creating an Image object 
Image img = new Image(data);

Passaggio 5: impostazione della posizione dell'immagine

È possibile impostare la posizione dell'immagine in un documento PDF utilizzando il file setFixedPosition()metodo dell'immagine. Impostare la posizione dell'immagine sulle coordinate (100, 250) sul documento utilizzando questo metodo, come mostrato di seguito.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Passaggio 6: aggiunta di un'immagine al documento

Ora aggiungi l'oggetto immagine, creato nel passaggio precedente, utilizzando il file add() metodo del Document classe, come mostrato di seguito.

// Adding image to the document 
document.add(img);

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 dimostra come impostare un'immagine nella posizione desiderata su un documento PDF utilizzando la libreria iText. Crea un documento PDF con il nomepositionOfImage.pdf, aggiunge un'immagine, la posiziona più vicino al centro della pagina e la salva nel percorso C:/itextExamples/

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

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingPosition {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);             

      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100, 250);                  
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      
      System.out.println("Image added");    
   } 
}

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

javac SettingPosition.java 
java SettingPosition

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

Image added

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