iText - Einstellen der Position des Bildes

In diesem Kapitel erfahren Sie, wie Sie die Position eines Bildes in einem PDF-Dokument mithilfe der iText-Bibliothek festlegen.

Festlegen der Position des Bildes

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 für seinen Konstruktor.

Um dem PDF ein Bild hinzuzufügen, erstellen Sie ein Objekt des Bildes, das hinzugefügt werden soll, und fügen Sie es mit dem hinzu add() Methode der DocumentKlasse. Mit der Methode können Sie das Bild an einer gewünschten Position in das Dokument einfügensetFixedPosition() des Image Klasse.

Im Folgenden finden Sie die Schritte zum Festlegen der Position eines Bildes 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/positionOfImage.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 wie unten gezeigt an den Konstruktor übergeben.

// 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 erstellt, wie unten gezeigt.

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

Schritt 4: Erstellen eines Bildobjekts

Um das Bildobjekt zu erstellen, erstellen Sie zunächst ein ImageData Objekt mit dem create() Methode der ImageDataFactoryKlasse. Übergeben Sie als Parameter dieser Methode einen Zeichenfolgenparameter, der den Pfad des Bildes darstellt, wie unten gezeigt.

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

Jetzt instanziieren Sie die Image Klasse der com.itextpdf.layout.elementPaket. Übergeben Sie beim Instanziieren dieImageData Objekt als Parameter für seinen Konstruktor, wie unten gezeigt.

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

Schritt 5: Einstellen der Position des Bildes

Sie können die Position des Bildes in einem PDF-Dokument mithilfe von festlegen setFixedPosition()Methode des Bildes. Stellen Sie die Position des Bildes mit dieser Methode auf die Koordinaten (100, 250) im Dokument ein, wie unten gezeigt.

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

Schritt 6: Hinzufügen eines Bildes zum Dokument

Fügen Sie nun das im vorherigen Schritt erstellte Bildobjekt mit dem hinzu add() Methode der Document Klasse, wie unten gezeigt.

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

Schritt 7: 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 mit der iText-Bibliothek ein Bild an einer gewünschten Position in einem PDF-Dokument festlegen. Es wird ein PDF-Dokument mit dem Namen erstelltpositionOfImage.pdf, fügt ein Bild hinzu, setzt es näher an die Mitte der Seite und speichert es im Pfad C:/itextExamples/

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

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

javac SettingPosition.java 
java SettingPosition

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

Image added

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