iText - Kurzanleitung

Das Portable Document Format (PDF) ist ein Dateiformat, mit dessen Hilfe Daten unabhängig von Anwendungssoftware, -hardware und -betriebssystemen dargestellt werden können. Jede PDF-Datei enthält eine Beschreibung eines flachen Dokuments mit festem Layout, einschließlich Text, Schriftarten, Grafiken und anderen Informationen, die zum Anzeigen erforderlich sind.

Es stehen mehrere Bibliotheken zum Erstellen und Bearbeiten von PDF-Dokumenten über Programme zur Verfügung, z.

  • Adobe PDF Library- Diese Bibliothek bietet API in Sprachen wie C ++, .NET und Java. Auf diese Weise können wir Text aus PDF-Dokumenten bearbeiten, anzeigen, drucken und extrahieren.

  • Formatting Objects Processor- Open-Source-Druckformatierer, der von XSL-Formatierungsobjekten und einem ausgabeunabhängigen Formatierer gesteuert wird. Das primäre Ausgabeziel ist PDF.

  • PDF Box- Apache PDFBox ist eine Open-Source-Java-Bibliothek, die die Entwicklung und Konvertierung von PDF-Dokumenten unterstützt. Mit dieser Bibliothek können Sie Java-Programme entwickeln, die PDF-Dokumente erstellen, konvertieren und bearbeiten.

  • Jasper Reports - Dies ist ein Java-Berichtstool, das Berichte in PDF-Dokumenten generiert, einschließlich Microsoft Excel, RTF, ODT, durch Kommas getrennte Werte und XML-Dateien.

Was ist iText?

Ähnlich wie bei der oben aufgeführten Software handelt es sich bei iText um eine Java PDF-Bibliothek, mit der Sie Java-Programme entwickeln können, mit denen PDF-Dokumente erstellt, konvertiert und bearbeitet werden können.

Funktionen von iText

Im Folgenden sind die bemerkenswerten Funktionen der iText-Bibliothek aufgeführt:

  • Interactive- iText bietet Ihnen Klassen (APIs) zum Generieren interaktiver PDF-Dokumente. Mit diesen können Sie Karten und Bücher erstellen.

  • Adding bookmarks, page numbers, etc - Mit iText können Sie Lesezeichen, Seitenzahlen und Wasserzeichen hinzufügen.

  • Split & Merge - Mit iText können Sie eine vorhandene PDF-Datei in mehrere PDF-Dateien aufteilen und zusätzliche Seiten hinzufügen / verketten.

  • Fill Forms - Mit iText können Sie interaktive Formulare in einem PDF-Dokument ausfüllen.

  • Save as Image - Mit iText können Sie PDFs als Bilddateien wie PNG oder JPEG speichern.

  • Canvas - Die iText-Bibliothek bietet Ihnen eine Canvas-Klasse, mit der Sie verschiedene geometrische Formen auf einem PDF-Dokument wie Kreis, Linie usw. zeichnen können.

  • Create PDFs- Mit iText können Sie aus Ihren Java-Programmen eine neue PDF-Datei erstellen. Sie können auch Bilder und Schriftarten einfügen.

IText-Umgebung

Führen Sie die folgenden Schritte aus, um die iText-Umgebung auf Eclipse festzulegen.

Step 1 - Installieren Sie Eclipse und öffnen Sie ein neues Projekt darin, wie unten gezeigt.

Step 2 - Erstellen Sie eine iTextSample Projekt wie unten gezeigt.

Step 3- Klicken Sie mit der rechten Maustaste auf das Projekt und konvertieren Sie es wie unten gezeigt in ein Maven-Projekt. Sobald Sie es in ein Maven-Projekt konvertiert haben, erhalten Sie einepom.xmlHier müssen Sie die erforderlichen Abhängigkeiten angeben. Danach wird diejar Dateien dieser Abhängigkeiten werden automatisch in Ihr Projekt heruntergeladen.

Step 4 - Nun, in der pom.xml Kopieren Sie den folgenden Inhalt des Projekts (Abhängigkeiten für die iText-Anwendung), fügen Sie ihn ein und aktualisieren Sie das Projekt.

Using pom.xml

Konvertieren Sie das Projekt in ein Maven-Projekt und fügen Sie den folgenden Inhalt hinzu pom.xml.

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">   
   
   <modelVersion>4.0.0</modelVersion>   
   <groupId>SanthoshExample</groupId>   
   <artifactId>SanthoshExample</artifactId>   
   <version>0.0.1-SNAPSHOT</version>   
   <build>     
      <sourceDirectory>src</sourceDirectory>     
      <plugins>       
         <plugin>         
            <artifactId>maven-compiler-plugin</artifactId>         
            <version>3.5.1</version>         
            <configuration>           
               <source>1.8</source>           
               <target>1.8</target>      
            </configuration>       
         </plugin>     
      </plugins>   
   </build>     
   
   <dependencies>     
      <!-- always needed -->     
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>kernel</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>io</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>layout</artifactId>         
         <version>7.0.2</version>
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>forms</artifactId>         
         <version>7.0.2</version>    
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>pdfa</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>sign</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>barcodes</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>font-asian</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>hyph</artifactId>         
         <version>7.0.2</version>    
      </dependency> 
   </dependencies>
   
</project>

Wenn Sie schließlich die Maven-Abhängigkeiten beobachten, können Sie feststellen, dass alle erforderlichen jar Dateien wurden heruntergeladen.

Lassen Sie uns nun verstehen, wie Sie ein PDF-Dokument mit der iText-Bibliothek erstellen.

Erstellen eines leeren PDF-Dokuments

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.

Im Folgenden finden Sie die Schritte zum Erstellen eines leeren PDF-Dokuments.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriterKlasse repräsentiert den Doc Writer 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/sample.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: Hinzufügen einer leeren Seite

Das addNewPage() Methode der PdfDocument Klasse wird verwendet, um eine leere Seite im PDF-Dokument zu erstellen.

Fügen Sie dem im vorherigen Schritt erstellten PDF-Dokument eine leere Seite hinzu, wie unten gezeigt.

// Adding an empty page 
pdfDoc.addNewPage();

Schritt 4: Erstellen eines 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 wie unten gezeigt erstellt.

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

Schritt 5: 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

Im Folgenden finden Sie das Java-Programm, das die Erstellung eines PDF-Dokuments demonstriert. Es wird ein PDF-Dokument mit dem Namen erstelltsample.pdf, fügt eine leere Seite hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen create_PDF.java.

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

public class create_PDF {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/sample.pdf";       
      PdfWriter writer = new PdfWriter(dest); 
   
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
   
      // Adding a new page 
      pdfDoc.addNewPage();               
   
      // Creating a Document        
      Document document = new Document(pdfDoc);               
   
      // Closing the document    
      document.close();              
      System.out.println("PDF Created");    
   } 
}

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

javac create_PDF.java 
java create_PDF

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

PDF created

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

Da es sich um ein leeres Dokument handelt, wird beim Versuch, dieses Dokument zu öffnen, eine Fehlermeldung angezeigt, wie im folgenden Screenshot gezeigt.

In diesem Kapitel erfahren Sie, wie Sie mit AreaBreak mithilfe der iText-Bibliothek ein PDF-Dokument erstellen.

Erstellen eines AreaBreak

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument einen Bereichsumbruch hinzuzufügen, müssen Sie den instanziierenAreaBreak Klasse und add Dieses Objekt soll mit dem dokumentiert werden add() Methode.

Im Folgenden finden Sie die Schritte zum Erstellen eines leeren PDF-Dokuments mit AreaBreak.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriter Klasse repräsentiert den Doc Writer für ein PDF, diese Klasse gehört zum Paket com.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 den Konstruktor übergeben, wie unten gezeigt.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingAreaBreak.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 PdfDocument Klasse ist die Klasse, die das PDF-Dokument in iText darstellt. Diese Klasse gehört zum Paket com.itextpdf.kernel.pdf. Um diese Klasse (im Schreibmodus) zu instanziieren, müssen Sie ein Objekt der Klasse übergebenPdfWriter zu seinem Konstruktor.

Instanziieren Sie die PdfDocument-Klasse, indem Sie das oben erstellte PdfWriter-Objekt an den Konstruktor übergeben, wie unten gezeigt.

// 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 eines 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 Area Break-Objekts

Das AreaBreak Klasse gehört zum Paket com.itextpdf.layout.element. Beim Instanziieren dieser Klasse wird der aktuelle Kontextbereich beendet und ein neuer mit derselben Größe erstellt (falls wir den Standardkonstruktor verwenden).

Instanziieren Sie die AreaBreak Klasse wie unten gezeigt.

// Creating an Area Break    
AreaBreak aB = new AreaBreak();

Schritt 5: Hinzufügen von AreaBreak

Ergänzen Sie die areabreak Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document-Klasse, wie unten gezeigt.

// Adding area break to the PDF 
document.add(aB);

Schritt 6: 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 AreaBreak mithilfe der iText-Bibliothek ein PDF-Dokument erstellen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingAreaBreak.pdffügt hinzu areabreak dazu und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen AddingAreaBreak.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.AreaBreak;  

public class AddingAreaBreak {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingAreaBreak.pdf";       
      PdfWriter writer = new PdfWriter(dest);
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);             
   
      // Creating a Document by passing PdfDocument object to its constructor       
      Document document = new Document(pdf);  
   
      // Creating an Area Break          
      AreaBreak aB = new AreaBreak();           
   
      // Adding area break to the PDF       
      document.add(aB);              
   
      // Closing the document       
      document.close();           
      System.out.println("Pdf created");       
   } 
}

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

javac AddingAreaBreak.java 
java AddingAreaBreak

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

Pdf Created

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und einen Absatz hinzufügen.

Erstellen eines Absatzes

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument einen Absatz hinzuzufügen, müssen Sie das instanziierenParagraph Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Im Folgenden finden Sie die Schritte zum Erstellen eines PDF-Dokuments mit einem Absatz.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriterKlasse repräsentiert den Doc Writer 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/addingParagraph.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Wenn das 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 PDF-Dokuments

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 der Document-Klasse

Das Document Klasse des Pakets com.itextpdf.layoutist das Wurzelelement. Beim Erstellen eines autarken PDF. Einer der Konstruktoren dieser Klasse akzeptiert ein Objekt der Klasse PdfDocument.

Instanziieren Sie die Document-Klasse, indem Sie das Objekt der Klasse übergeben PdfDocument in den vorherigen Schritten wie unten gezeigt erstellt.

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

Schritt 4: Erstellen eines Absatzobjekts

Das ParagraphKlasse repräsentiert einen in sich geschlossenen Block von Text- und Grafikinformationen. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Paragraph Klasse, indem der Textinhalt als Zeichenfolge an den Konstruktor übergeben wird, wie unten gezeigt.

String para = "Welcome to Tutorialspoint."; 
// Creating an Area Break    
Paragraph para = new Paragraph (para);

Schritt 5: Hinzufügen eines Absatzes

Ergänzen Sie die Paragraph Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding area break to the PDF 
document.add(para);

Schritt 6: 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 mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und einen Absatz hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingParagraph.pdf, fügt einen Absatz hinzu und speichert ihn im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen AddingParagraph.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingParagraph {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingParagraph.pdf";       
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      String para1 = "Tutorials Point originated from the idea that there exists 
      a class of readers who respond better to online content and prefer to learn 
      new skills at their own pace from the comforts of their drawing rooms.";  
      
      String para2 = "The journey commenced with a single tutorial on HTML in 2006 
      and elated by the response it generated, we worked our way to adding fresh 
      tutorials to our repository which now proudly flaunts a wealth of tutorials 
      and allied articles on topics ranging from programming languages to web designing 
      to academics and much more.";              
      
      // Creating Paragraphs       
      Paragraph paragraph1 = new Paragraph(para1);             
      Paragraph paragraph2 = new Paragraph(para2);              
      
      // Adding paragraphs to document       
      document.add(paragraph1);       
      document.add(paragraph2);           
      
      // Closing the document       
      document.close();             
      System.out.println("Paragraph added");    
   } 
}

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

javac AddingParagraph.java 
java AddingParagraph

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

Paragraph added

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und eine Liste hinzufügen.

Liste erstellen

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument eine Liste hinzuzufügen, müssen Sie die instanziierenList Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Im Folgenden finden Sie die Schritte zum Erstellen eines PDF-Dokuments und zum Hinzufügen einer Liste.

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/addingList.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Wenn das 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 PdfDocument Klasse ist die Klasse, die das PDF-Dokument in iText darstellt. Diese Klasse gehört zum Paket com.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 Listenobjekts

Das ListKlasse repräsentiert eine Reihe von Objekten, die vertikal umrissen sind. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die List Klasse wie unten gezeigt.

// Creating a list  
List list = new List();

Schritt 5: Hinzufügen von Elementen zur Liste

Fügen Sie dem Inhalt hinzu list Objekt mit dem add() Methode der List Klasse durch Übergabe von String-Werten, wie unten gezeigt.

//  Add elements to the list 
list.add("Java"); 
list.add("JavaFX"); 
list.add("Apache Tika"); 
list.add("OpenCV");

Schritt 6: Hinzufügen einer Liste zum Dokument

Ergänzen Sie die list Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding list to the document 
document.add(list);

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 mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und eine Liste hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingList.pdf, fügt eine Liste hinzu und speichert sie im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit Namen AddingList.java.

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

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingList {      
   public static void main(String args[]) throws Exception {               
      // Creating a PdfWriter
      String dest = "C:/itextExamples/addngList.pdf";       
      PdfWriter writer = new PdfWriter(dest);              
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
   
      // Creating a Document        
      Document document = new Document(pdf);              
   
      // Creating a Paragraph       
      Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");
      
      // Creating a list
      List list = new List();  
      
      // Add elements to the list       
      list.add("Java");       
      list.add("JavaFX");      
      list.add("Apache Tika");       
      list.add("OpenCV");       
      list.add("WebGL");       
      list.add("Coffee Script");       
      list.add("Java RMI");       
      list.add("Apache Pig");              
      
      // Adding paragraph to the document       
      document.add(paragraph);                    
     
      // Adding list to the document       
      document.add(list);
      
      // Closing the document       
      document.close();              
      System.out.println("List added");    
   } 
}

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

javac AddingList.java 
java AddingList

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

List added

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und eine Tabelle hinzufügen.

Hinzufügen einer Tabelle zu einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter für seinen Konstruktor. Um dem Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziierenTable Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Im Folgenden finden Sie die Schritte zum Erstellen eines PDF-Dokuments mit einer Tabelle.

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 ein Zeichenfolgenwert (der den Pfad darstellt, in dem Sie eine PDF-Datei erstellen müssen) an den Konstruktor übergeben wird (siehe Abbildung unten).

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

Wenn das 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 KlassePdfDocument.

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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist, die in Zeilen und Spalten angeordnet sind. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Table Klasse wie unten gezeigt.

// Creating a table object 
float [] pointColumnWidths = {150F, 150F, 150F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Hinzufügen von Zellen zur Tabelle

Ein ... kreieren cell Objekt durch Instanziierung der Cell Klasse des Pakets com.itextpdf.layout.element. Fügen Sie den Inhalt der Zelle mit dem hinzuadd() Methode dieser Klasse.

Um diese Zelle zur Tabelle hinzuzufügen, rufen Sie schließlich die auf addCell() Methode der Table Klasse und bestehen die cell Objekt als Parameter für diese Methode, wie unten gezeigt.

// Adding cell 1 to the table 
Cell cell1 = new Cell();   // Creating a cell 
cell1.add("Name");         // Adding content to the cell 
table.addCell(cell1);      // Adding cell to the table       

// Adding cell 2 to the table Cell 
cell2 = new Cell();       // Creating a cell 
cell2.add("Raju");        // Adding content to the cell 
table.addCell(cell2);     // Adding cell to the table

Schritt 6: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse wie unten gezeigt.

// Adding list to the document 
document.add(table);

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 mithilfe der iText-Bibliothek ein PDF-Dokument erstellen und eine Tabelle hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingTable.pdf, fügt eine Tabelle hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen AddingTable.java.

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

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class AddingTable {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfDocument object   
      String dest = "C:/itextExamples/addingTable.pdf";   
      PdfWriter writer = new PdfWriter(dest);       
         
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                  
      
      // Creating a Document object       
      Document doc = new Document(pdf);                       
         
      // Creating a table       
      float [] pointColumnWidths = {150F, 150F, 150F};   
      Table table = new Table(pointColumnWidths);    
      
      // Adding cells to the table       
      table.addCell(new Cell().add("Name"));       
      table.addCell(new Cell().add("Raju"));       
      table.addCell(new Cell().add("Id"));       
      table.addCell(new Cell().add("1001"));       
      table.addCell(new Cell().add("Designation"));       
      table.addCell(new Cell().add("Programmer"));                 
         
      // Adding Table to document        
      doc.add(table);                  
         
      // Closing the document       
      doc.close();
      System.out.println("Table created successfully..");   
   }     
}

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

javac AddingTable.java 
java AddingTable

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

Table created successfully..

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

In diesem Kapitel erfahren Sie, wie Sie ein PDF-Dokument erstellen, eine Tabelle hinzufügen und den Inhalt einer Zelle in der Tabelle mithilfe der iText-Bibliothek formatieren.

Formatieren der Zellen in einer Tabelle

Sie können ein leeres PDF erstellen Documentdurch Instanziieren der Document-Klasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziierenTable Klasse und fügen Sie dieses Objekt dem Dokument mit der add()Methode. Sie können den Inhalt einer Zelle in einer Tabelle mit den Methoden von formatierenCell Klasse.

Im Folgenden finden Sie die Schritte zum Formatieren des Inhalts einer Zelle in einer Tabelle.

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/addingBackground.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 PDFDocument 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 durch Übergeben der oben erstellten PdfWriter Objekt zu seinem Konstruktor, wie unten gezeigt.

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

Einmal PdfDocument Wenn ein Objekt erstellt wird, können Sie verschiedene Elemente wie Seite, Schriftart, Dateianhang und Ereignishandler mit den entsprechenden Methoden der 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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist und in Zeilen und Spalten angeordnet ist. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Tabellenklasse wie unten gezeigt.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Zellen erstellen

Ein ... kreieren cell Objekt durch Instanziierung der Cell Klasse des Pakets com.itextpdf.layout.element. Fügen Sie den Inhalt der Zelle mit dem hinzuadd() Methode der Cell Klasse, wie unten gezeigt.

// Adding cell 1 to the table 
Cell cell1 = new Cell();     // Creating a cell 
cell1.add("Name");           // Adding content to the cell       

// Adding cell 2 to the table 
Cell cell2 = new Cell();     // Creating a cell 
cell2.add("Raju");           // Adding content to the cell

Schritt 6: Hinzufügen von Hintergrund zur Zelle

Nachdem Sie die Zelle erstellt und Inhalte hinzugefügt haben, können Sie die Zelle formatieren. Sie können beispielsweise den Hintergrund festlegen, den Text in der Zelle ausrichten, die Textfarbe ändern usw., indem Sie verschiedene Methoden der Zellenklasse verwenden, zsetBackgroundColor(), setBorder(), setTextAlignment().

Sie können die Hintergrundfarbe, den Rahmen und die Textausrichtung auf die im vorherigen Schritt erstellte Zelle einstellen, wie unten gezeigt.

c1.setBackgroundColor(Color.DARK_GRAY);    // Setting background color to cell1 
c1.setBorder(Border.NO_BORDER);            // Setting border to cell1 
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1

Schritt 7: Hinzufügen einer Zelle zur Tabelle

Um diese Zelle zur Tabelle hinzuzufügen, rufen Sie schließlich die auf addCell() Methode der Table Klasse und bestehen die cell Objekt als Parameter für diese Methode, wie unten gezeigt.

table.addCell(c1);

Schritt 8: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse wie unten gezeigt.

// Adding list to the document 
document.add(table);

Schritt 9: 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 der Inhalt einer Zelle in einer Tabelle mithilfe der iText-Bibliothek formatiert wird. Es wird ein PDF-Dokument mit dem Namen erstelltaddingBackground.pdf, fügt eine Tabelle hinzu, formatiert den Inhalt seiner Zellen und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen BackgroundToTable.java.

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

import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class BackgroundToTable {      
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingBackground.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 table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table               
      Cell c1 = new Cell();                        // Creating cell 1 
      c1.add("Name");                              // Adding name to cell 1   
      c1.setBackgroundColor(Color.DARK_GRAY);      // Setting background color
      c1.setBorder(Border.NO_BORDER);              // Setting border
      c1.setTextAlignment(TextAlignment.CENTER);   // Setting text alignment      
      table.addCell(c1);                           // Adding cell 1 to the table 
      
      Cell c2 = new 
      Cell();                               
      c2.add("Raju");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);      
      
      // Populating row 2 and adding it to the table               
      Cell c3 = new Cell();       
      c3.add("Id");       
      c3.setBackgroundColor(Color.WHITE);       
      c3.setBorder(Border.NO_BORDER);       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBackgroundColor(Color.WHITE);       
      c4.setBorder(Border.NO_BORDER);       
      c4.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c4);                          
      
      // Populating row 3 and adding it to the table        
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBackgroundColor(Color.DARK_GRAY);       
      c5.setBorder(Border.NO_BORDER);       
      c5.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c5);                 
      
      Cell c6 = new Cell(); 
      c6.add("Programmer");       
      c6.setBackgroundColor(Color.GRAY);       
      c6.setBorder(Border.NO_BORDER);       
      c6.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Background added successfully..");     
   } 
}

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

javac BackgroundToTable.java 
java BackgroundToTable

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

Background added successfully..

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

In diesem Kapitel erfahren Sie, wie Sie die Ränder einer Zelle in einer Tabelle mithilfe der iText-Bibliothek formatieren.

Formatieren der Rahmen einer Zelle

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 Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziieren Table Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Sie können verschiedene Arten von Rahmen wie hinzufügen DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorderusw. mit verschiedenen Farben unter Verwendung der setBorder() Methode der Cell Klasse.

Im Folgenden finden Sie die Schritte zum Formatieren der Ränder einer Zelle in einer Tabelle.

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/coloredBorders.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 PDFDocument 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 durch Übergeben der oben erstellten PdfWriter Objekt zu seinem Konstruktor, wie unten gezeigt.

// 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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist, die in Zeilen und Spalten angeordnet sind. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Table Klasse wie unten gezeigt.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Zellen erstellen

Erstellen Sie ein Zellenobjekt, indem Sie das instanziieren Cell Klasse des Pakets com.itextpdf.layout.element Fügen Sie den Inhalt der Zelle mit dem hinzu add() Methode der Cell Klasse, wie unten gezeigt.

// Adding cell 1 to the table 
Cell cell1 = new Cell(); // Creating a cell 
cell1.add("Name");       // Adding content to the cell

Schritt 6: Formatieren des Zellenrandes

Die iText-Bibliothek bietet verschiedene Klassen, die den Rand darstellen, wie z DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, usw.

Die Konstruktoren dieser Klassen akzeptieren zwei Parameter: a color Objekt, das die Farbe des Randes darstellt, und ein integer Darstellen der Breite des Randes.

Wählen Sie einen dieser Randtypen und instanziieren Sie den entsprechenden Rand, indem Sie den übergeben color Objekt und ein integer Darstellen der Breite, wie unten gezeigt.

Border b1 = new DashedBorder(Color.RED, 3);

Stellen Sie nun den Rand der Zelle mit dem ein setBorder() Methode der cellKlasse. Diese Methode akzeptiert ein Objekt des TypsBorder als Parameter.

Legen Sie den Rand der Zelle fest, indem Sie die oben erstellte übergeben Border Objekt als Parameter zum setBorder() Methode wie unten gezeigt.

c1.setBorder(b1)

Um diese Zelle zur Tabelle hinzuzufügen, rufen Sie schließlich die auf addCell() Methode der Table Klasse und bestehen die cell Objekt als Parameter für diese Methode, wie unten gezeigt.

table.addCell(c1);

Schritt 7: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding list to the document 
document.add(table);

Schritt 8: 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 der Rand einer Zelle in einer Tabelle mithilfe der iText-Bibliothek formatiert wird. Es wird ein PDF-Dokument mit dem Namen erstelltcoloredBorders.pdf, fügt eine Tabelle hinzu, formatiert den Inhalt seiner Zellen und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen FormatedBorders.java.

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

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.border.DashedBorder; 
import com.itextpdf.layout.border.DottedBorder; 
import com.itextpdf.layout.border.DoubleBorder; 
import com.itextpdf.layout.border.RoundDotsBorder; 
import com.itextpdf.layout.border.SolidBorder; 

import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class FormatedBorders {      
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/coloredBorders.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 table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths); 
   
      // Adding row 1 to the table
      Cell c1 = new Cell();
      
      // Adding the contents of the cell
      c1.add("Name");
   
      // Setting the back ground color of the cell
      c1.setBackgroundColor(Color.DARK_GRAY);    
   
      // Instantiating the Border class 
      Border b1 = new DashedBorder(Color.RED, 3);
   
      // Setting the border of the cell
      c1.setBorder(b1);
      
      // Setting the text alignment       
      c1.setTextAlignment(TextAlignment.CENTER);
   
      // Adding the cell to the table       
      table.addCell(c1);                          
      Cell c2 = new Cell();       
      c2.add("Raju");       
      c1.setBorder(new SolidBorder(Color.RED, 3));       
      c2.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c2);
   
      // Adding row 2 to the table                
      Cell c3 = new Cell();      
      c3.add("Id"); 
      c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3));       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3));       
      c4.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c4);                          
      
      // Adding row 3 to the table       
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBorder(new RoundDotsBorder(Color.RED, 3));       
      c5.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c5);                 
      
      Cell c6 = new Cell();       
      c6.add("Programmer");       
      c6.setBorder(new RoundDotsBorder(Color.RED, 3)); 
      c6.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Borders added successfully..");     
   } 
}

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

javac FormatedBorders.java 
java FormatedBorders

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

Borders added successfully

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek ein Bild zu einer Tabelle in einem PDF-Dokument hinzufügen.

Hinzufügen eines Bildes zu einer Tabelle

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziierenTable Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Um dieser Tabelle ein Bild hinzuzufügen, müssen Sie das instanziieren Cell Klasse, erstellen und ein Objekt des Bildes, das hinzugefügt werden muss, fügen Sie das Bild zu cell Objekt mit dem add() Methode der Cell Klasse.

Im Folgenden finden Sie die Schritte zum Einfügen eines Bildes in die Zelle einer Tabelle.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriter Klasse repräsentiert den Doc Writer für ein PDF, diese Klasse gehört zum Paket com.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 den Konstruktor übergeben, wie unten gezeigt.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingImage.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 an den Konstruktor übergeben, wie unten gezeigt.

// 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 KlassePdfDocument.

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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist und in Zeilen und Spalten angeordnet ist. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Table Klasse wie unten gezeigt.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Erstellen der Zelle

Ein ... kreieren cell Objekt durch Instanziierung der Cell Klasse des Pakets com.itextpdf.layout, Wie nachfolgend dargestellt.

// Adding cell to the table
Cell cell = new Cell();  // Creating a cell

Schritt 6: Erstellen eines Bildes

So erstellen Sie die image Objekt erstellen zunächst eine 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, das oben als Parameter für seinen Konstruktor erstellt wurde, wie unten gezeigt.

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

Ergänzen Sie die image Objekt auf die Zelle mit dem add() Methode der Zellklasse, wie unten gezeigt.

// Adding image to the cell  
cell.add(img.setAutoScale(true));

Schritt 7: Hinzufügen einer Zelle zur Tabelle

Um diese Zelle zur Tabelle hinzuzufügen, rufen Sie schließlich die auf addCell() Methode der Table Klasse und bestehen die cell Objekt als Parameter für diese Methode, wie unten gezeigt.

table.addCell(cell);

Schritt 8: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding list to the document 
document.add(table);

Schritt 9: 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 mithilfe der iText-Bibliothek ein Bild zu einer Zelle einer Tabelle in einem PDF-Dokument hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingImage.pdf, fügt eine Tabelle hinzu, fügt ein Bild (javafxLogo.jpg) in eine seiner Zellen ein und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen AddingImageToTable.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.Cell; 
import com.itextpdf.layout.element.Image; 
import com.itextpdf.layout.element.Table;  

public class a3AddingImageToTable {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object 
      String dest = "C:/itextExamples/addingImage.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 table
      float [] pointColumnWidths = {150f, 150f};
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table
      Cell cell1 = new Cell();
      cell1.add("Tutorial ID");
      table.addCell(cell1);
      
      Cell cell2 = new Cell();
      cell2.add("1");
      table.addCell(cell2);
      
      // Populating row 2 and adding it to the table
      Cell cell3 = new Cell();
      cell3.add("Tutorial Title");
      table.addCell(cell3);             
      
      Cell cell4 = new Cell(); 
      cell4.add("JavaFX");  
      table.addCell(cell4);
      
      // Populating row 3 and adding it to the table
      Cell cell5 = new Cell();
      cell5.add("Tutorial Author");
      table.addCell(cell5);            
      
      Cell cell6 = new Cell();
      cell6.add("Krishna Kasyap");
      table.addCell(cell6);
      
      // Populating row 4 and adding it to the table
      Cell cell7 = new Cell();
      cell7.add("Submission date");
      table.addCell(cell7);
      
      Cell cell8 = new Cell();
      cell8.add("2016-07-06");
      table.addCell(cell8);              
      
      // Populating row 5 and adding it to the table
      Cell cell9 = new Cell();
      cell9.add("Tutorial Icon");
      table.addCell(cell9);              
      
      // Creating the cell10       
      Cell cell10 = new Cell();              
      
      // Creating an ImageData object       
      String imageFile = "C:/itextExamples/javafxLogo.jpg";       
      ImageData data = ImageDataFactory.create(imageFile);        

      // Creating the image       
      Image img = new Image(data);              

      // Adding image to the cell10       
      cell10.add(img.setAutoScale(true));        

      // Adding cell110 to the table       
      table.addCell(cell10);                         
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Image added to table successfully..");     
   } 
}

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

javac AddingImageToTable.java 
java AddingImageToTable

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

Image added to table successfully..

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek eine verschachtelte Tabelle zu einer Tabelle in einem PDF-Dokument hinzufügen.

Hinzufügen verschachtelter Tabellen in einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um dem Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziierenTable Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Um dieser Tabelle eine Tabelle hinzuzufügen, müssen Sie eine andere Tabelle (verschachtelte Tabelle) erstellen und diese mit dem an das Zellenobjekt übergeben add() Methode der Cell Klasse.

Im Folgenden finden Sie die Schritte zum Einfügen einer Tabelle in die Zelle einer Tabelle.

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/addingNestedTable.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 übergeben PdfWriter 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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist und in Zeilen und Spalten angeordnet ist. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Table Klasse wie unten gezeigt.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Erstellen der Zelle

Ein ... kreieren cell Objekt durch Instanziierung der Cell Klasse des Pakets com.itextpdf.layout, Wie nachfolgend dargestellt.

// Adding cell to the table 
Cell contact = new Cell();    // Creating a cell

Schritt 6: Verschachtelte Tabelle erstellen

Nach dem Erstellen der cellErstellen Sie eine verschachtelte Tabelle und füllen Sie ihre Zellen wie unten gezeigt.

// Creating nested table for contact   
float [] pointColumnWidths2 = {150f, 150f}; 
Table nestedTable = new Table(pointColumnWidths2);    

// Populating row 1 and adding it to the nested table  
Cell nested1 = new Cell(); 
nested1.add("Phone"); 
nestedTable.addCell(nested1);       

Cell nested2 = new Cell(); 
nested2.add("9848022338"); 
nestedTable.addCell(nested2);  

// Populating row 2 and adding it to the nested table  
Cell nested3 = new Cell(); 
nested3.add("email"); 
nestedTable.addCell(nested3);

Cell nested4 = new Cell(); 
nested4.add("[email protected]"); 
nestedTable.addCell(nested4);     

// Populating row 3 and adding it to the nested table  
Cell nested5 = new Cell(); 
nested5.add("Address"); 
nestedTable.addCell(nested5);  

Cell nested6 = new Cell(); 
nested6.add("Hyderabad"); 
nestedTable.addCell(nested6);

Schritt 7: Hinzufügen einer verschachtelten Tabelle zur Zelle

Fügen Sie nun die oben erstellte verschachtelte Tabelle mit der Taste in die Zelle der übergeordneten (Container-) Tabelle ein add() Methode der CellKlasse. Fügen Sie diese Zelle mit der Taste zur übergeordneten Tabelle hinzuaddCell() Methode der Table Klasse, wie unten gezeigt.

contact.add(nestedTable); 
table.addCell(contact);

Schritt 8: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding list to the document 
document.add(table);

Schritt 9: 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 mithilfe der iText-Bibliothek eine Tabelle zu einer Zelle einer Tabelle (verschachtelte Tabelle) in einem PDF-Dokument hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingNestedTable.pdf, fügt eine Tabelle hinzu, fügt eine weitere Tabelle in eine ihrer Zellen ein und speichert sie im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen AddNestedTable.java.

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

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class a4AddNestedTablesPdf {  
   public static void main(String args[]) throws Exception {                        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingNestedTable.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 table       
      float [] pointColumnWidths1 = {150f, 150f};       
      Table table = new Table(pointColumnWidths1);                             
      
      // Populating row 1 and adding it to the table          
      Cell cell1 = new Cell();       
      cell1.add("Name");       
      table.addCell(cell1);             
      
      Cell cell2 = new Cell();       
      cell2.add("Raju");       
      table.addCell(cell2);                          
   
      // Populating row 2 and adding it to the table        
      Cell cell3 = new Cell();       
      cell3.add("Id");       
      table.addCell(cell3);             
      
      Cell cell4 = new Cell();       
      cell4.add("1001");       
      table.addCell(cell4);                    
   
      // Populating row 3 and adding it to the table        
      Cell cell5 = new Cell();       
      cell5.add("Designation");       
      table.addCell(cell5); 
      
      Cell cell6 = new Cell();       
      cell6.add("Programmer");       
      table.addCell(cell6);              
   
      // Creating nested table for contact         
      float [] pointColumnWidths2 = {150f, 150f};       
      Table nestedTable = new Table(pointColumnWidths2);                
      
      // Populating row 1 and adding it to the nested table        
      Cell nested1 = new Cell();       
      nested1.add("Phone");       
      nestedTable.addCell(nested1);                   
      
      Cell nested2 = new Cell();       
      nested2.add("9848022338");       
      nestedTable.addCell(nested2);                   
      
      // Populating row 2 and adding it to the nested table        
      Cell nested3 = new Cell();       
      nested3.add("email");       
      nestedTable.addCell(nested3);                    
      
      Cell nested4 = new Cell();       
      nested4.add("[email protected]");       
      nestedTable.addCell(nested4);                       
      
      // Populating row 3 and adding it to the nested table        
      Cell nested5 = new Cell();       
      nested5.add("Address");       
      nestedTable.addCell(nested5);                    
      
      Cell nested6 = new Cell();       
      nested6.add("Hyderabad");       
      nestedTable.addCell(nested6);              
      
      // Adding table to the cell       
      Cell cell7 = new Cell();       
      cell7.add("Contact");       
      table.addCell(cell7);              
      
      Cell cell8 = new Cell();       
      cell8.add(nestedTable);       
      table.addCell(cell8);
      
      // Adding table to the document       
      doc.add(table);                   
      
      // Closing the document               
      doc.close();  
      System.out.println("Nested Table Added successfully..");     
   } 
}

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

javac AddNestedTable.java 
java AddNestedTable

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

Nested Table Added successfully..

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

In diesem Kapitel erfahren Sie, wie Sie einer Tabelle in einem PDF-Dokument mithilfe der iText-Bibliothek eine Liste hinzufügen.

Hinzufügen von Listen zu einer Tabelle in einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter für seinen Konstruktor. Um dem Dokument eine Tabelle hinzuzufügen, müssen Sie die instanziierenTable Klasse und fügen Sie dieses Objekt dem Dokument mit der add() Methode.

Hinzufügen eines list Um den Tisch zu erreichen, müssen Sie das instanziieren List Klasse der com.itextpdf.layout.element verpacken und in die einlegen cell Objekt mit dem add() Methode der Cell Klasse.

Im Folgenden finden Sie die Schritte zum Hinzufügen einer Liste zur Zelle einer Tabelle.

Schritt 1: Erstellen eines PdfWriter-Objekts

Das PdfWriterKlasse repräsentiert den Doc Writer 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/addingObjects.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 Paket com.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 an den Konstruktor übergeben, wie unten gezeigt.

// 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 Tabellenobjekts

Das TableKlasse repräsentiert ein zweidimensionales Gitter, das mit Zellen gefüllt ist und in Zeilen und Spalten angeordnet ist. Es gehört zum Paketcom.itextpdf.layout.element.

Instanziieren Sie die Table Klasse wie unten gezeigt.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Schritt 5: Erstellen der Zelle

Ein ... kreieren cell Objekt durch Instanziierung der Cell Klasse des Pakets com.itextpdf.layout, Wie nachfolgend dargestellt.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

Schritt 6: Listenobjekt erstellen

Erstellen Sie nach dem Erstellen der Zelle eine list Objekt durch Instanziierung der List Klasse des Pakets com.itextpdf.layout.element. Erstellen Sie die Listenelemente, indem Sie das instanziierenListItem Klasse und fügen Sie die erstellten Elemente mit der add() Methode der List Klasse, wie unten gezeigt.

List list = new List(); 
ListItem item1 = new ListItem("JavaFX"); 
ListItem item2 = new ListItem("Java"); 
ListItem item3 = new ListItem("Java Servlets");        
list.add(item1); 
list.add(item2); 
list.add(item3);

Schritt 7: Hinzufügen einer Liste zur Zelle einer Tabelle

Fügen Sie nun die oben erstellte Liste mit der Taste in die Zelle der Tabelle ein add()Methode der Cell-Klasse. Fügen Sie diese Zelle mit der Taste zur Tabelle hinzuaddCell() Methode der Table Klasse, wie unten gezeigt.

listCell.add(list); 
table.addCell(listCell);

Schritt 8: Hinzufügen einer Tabelle zum Dokument

Ergänzen Sie die table Objekt, das im vorherigen Schritt mit dem erstellt wurde add() Methode der Document Klasse, wie unten gezeigt.

// Adding list to the document 
document.add(table);

Schritt 9: 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 mithilfe der iText-Bibliothek eine Liste zu einer Zelle einer Tabelle in einem PDF-Dokument hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingObjects.pdf, fügt eine Tabelle hinzu, fügt eine Liste in eine ihrer Zellen ein und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen AddingListsToTable.java.

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

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.ListItem; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class AddingListsToTable {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter object
      String file = "C:/itextExamples/addingObjects.pdf";       
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);               
      
      // Creating a table       
      float [] pointColumnWidths = {300F, 300F};       
      Table table = new Table(pointColumnWidths);                            
      
      // Adding row 1 to the table                
      Cell c1 = new Cell();       
      c1.add("Java Related Tutorials");       
      c1.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c1);                      
      
      List list1 = new List();       
      ListItem item1 = new ListItem("JavaFX");
      ListItem item2 = new ListItem("Java");       
      ListItem item3 = new ListItem("Java Servlets");              
      list1.add(item1);       
      list1.add(item2);       
      list1.add(item3);                 
      
      Cell c2 = new Cell();       
      c2.add(list1);       
      c2.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c2);                 
      
      // Adding row 2 to the table                
      Cell c3 = new Cell();       
      c3.add("No SQL Databases");       
      c3.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c3);                     
      
      List list2 = new List();       
      list2.add(new ListItem("HBase"));       
      list2.add(new ListItem("Neo4j"));       
      list2.add(new ListItem("MongoDB"));                 
      
      Cell c4 = new Cell();       
      c4.add(list2); 
      c4.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c4);                       
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      System.out.println("Lists added to table successfully..");     
   } 
}

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

javac AddingListsToTable.java 
java AddingListsToTable

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

Lists added to table successfully..

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek ein Bild zu einem PDF-Dokument hinzufügen.

Hinzufügen eines Bildes zu einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter an seinen Konstruktor. Um der PDF-Datei ein Bild hinzuzufügen, erstellen Sie ein Objekt des Bildes, das hinzugefügt werden muss, und fügen Sie es mit der hinzuadd() Methode der Document Klasse.

Im Folgenden finden Sie die Schritte zum Hinzufügen eines Bilds zum 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/addingImage.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

So erstellen Sie die image Objekt erstellen zunächst eine 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 das oben erstellteImageData Objekt als Parameter für seinen Konstruktor, wie unten gezeigt.

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

Schritt 5: Hinzufügen eines Bildes zum Dokument

Fügen Sie 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 6: 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 mithilfe der iText-Bibliothek ein Bild zu einem PDF-Dokument hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltaddingImage.pdf, fügt ein Bild hinzu und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit Namen AddingImage.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 AddingImage {      
   public static void main(String args[]) throws Exception {              
      
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);        
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                        
      
      // 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 an der Eingabeaufforderung mit den folgenden Befehlen aus:

javac AddingImage.java 
java AddingImage

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.

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.

In diesem Kapitel erfahren Sie, wie Sie ein Bild in einem PDF-Dokument mithilfe der iText-Bibliothek skalieren.

Skalieren eines Bildes in einem PDF

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 der PDF-Datei ein Bild hinzuzufügen, erstellen Sie ein Objekt des Bildes, das hinzugefügt werden muss, und fügen Sie es mit der hinzu add() Methode der DocumentKlasse. Sie können ein Bild mit dem skalierensetAutoScale() Methode.

Im Folgenden werden die Schritte zum Skalieren eines im PDF-Dokument vorhandenen Bilds beschrieben.

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/autoScale.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 an den Konstruktor übergeben, wie unten gezeigt.

// 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 ein 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: Skalieren eines Bildes

Sie können ein Bild mit dem skalieren setAutoScale() Methode.

// 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 die hinzu image Objekt, das im vorherigen Schritt mit dem erstellt wurde 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 ein Bild mithilfe der iText-Bibliothek entsprechend der Dokumentgröße in einem PDF-Dokument skalieren. Es wird ein PDF-Dokument mit dem Namen erstelltautoScale.pdf, fügt ein Bild hinzu, skaliert es in Bezug auf die Seitenabmessungen und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit Namen SettingAutoScale.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 SettingAutoScale {      
   public static void main(String args[]) throws Exception{              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/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:/itextExamples/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 Scaled");    
   } 
}

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

javac SettingAutoScale.java 
java SettingAutoScale

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

Image Scaled

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

In diesem Kapitel erfahren Sie, wie Sie ein Bild in ein PDF-Dokument einfügen und dieses Bild mithilfe der in der iText-Bibliothek verfügbaren Funktionen drehen.

Drehen eines Bildes in einer PDF

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 der PDF-Datei ein Bild hinzuzufügen, erstellen Sie ein Objekt des Bildes, das hinzugefügt werden muss, und fügen Sie es mit der hinzu add() Methode der DocumentKlasse. Sie können ein Bild mit dem drehensetRotationAngle() Methode.

Im Folgenden finden Sie die Schritte zum Drehen eines Bilds in einem 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/rotatingImage.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 PdfWriter-Objekt wie unten gezeigt an seinen 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 ein 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 object, als Parameter für seinen Konstruktor, wie unten gezeigt.

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

Schritt 5: Drehen eines Bildes

Sie können ein Bild mit dem drehen setRotationAngle()Methode. Für diese Methode müssen Sie eine Ganzzahl übergeben, die den Drehwinkel darstellt, um den Sie das Bild drehen möchten.

// Rotating the image 
image.setRotationAngle(45);

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 ein Bild in einem PDF-Dokument mithilfe der iText-Bibliothek um einen bestimmten Winkel gedreht wird.

Es wird ein PDF-Dokument mit dem Namen erstellt rotatingImage.pdf, fügt ein Bild hinzu, dreht es und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen RotatingImage.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 RotatingImage {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/rotatingImage.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:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                
      
      // Rotating the image       
      image.setRotationAngle(45);                       
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close(); 
      
      System.out.println("Image rotated");    
   } 
}

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

javac RotatingImage.java 
java RotatingImage

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

Image Rotated

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

In diesem Kapitel erfahren Sie, wie Sie einem PDF-Dokument mithilfe der iText-Bibliothek Textanmerkungen hinzufügen.

Erstellen einer Textanmerkung in einer PDF

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 Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt von erstellen PdfTextAnnotation Klasse und fügen Sie dies der PdfPage.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen 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/textAnnotation.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 durch das Bestehen der PdfWriter Objekt zu seinem Konstruktor, wie unten gezeigt.

// 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 KlassePdfDocument.

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 PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot repräsentiert die Oberklasse aller Anmerkungen.

Unter seinen abgeleiteten Klassen, PdfTextAnnotationKlasse repräsentiert die Textanmerkung. Erstellen Sie ein Objekt dieser Klasse wie unten gezeigt.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation ann = new PdfTextAnnotation(rect);

Schritt 5: Festlegen der Farbe der Anmerkung

Stellen Sie die Farbe mit der Taste auf die Anmerkung ein setColor() Methode der PdfAnnotationKlasse. Übergeben Sie an diese Methode diecolor Objekt, das die Farbe der Anmerkung als Parameter darstellt.

// Setting color to the annotation 
ann.setColor(Color.GREEN);

Schritt 6: Festlegen des Titels und des Inhalts der Anmerkung

Stellen Sie den Titel und den Inhalt der Anmerkung mit der Taste ein setTitle() und setContents() Methoden der PdfAnnotation Klasse jeweils wie unten gezeigt.

// Setting title to the annotation 
ann.setTitle(new PdfString("Hello"));        

// Setting contents of the annotation 
ann.setContents("Hi welcome to Tutorialspoint.");

Schritt 7: Hinzufügen der Anmerkung zu einer Seite

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument-Klasse und fügen Sie die obige Annotation mit der hinzu addAnnotation() Methode von PdfPage Klasse, wie unten gezeigt.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

Schritt 8: 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 mithilfe der iText-Bibliothek Textanmerkungen zu einem PDF-Dokument hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstellttextAnnotation.pdf, fügt eine Textanmerkung hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen TextAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation; 
import com.itextpdf.layout.Document;  

public class TextAnnotation {    
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/textAnnotation.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document        
      Document document = new Document(pdf);             
      
      // Creating PdfTextAnnotation object
      Rectangle rect = new Rectangle(20, 800, 0, 0);       
      PdfAnnotation ann = new PdfTextAnnotation(rect);              
      
      // Setting color to the annotation
      ann.setColor(Color.GREEN);              
      
      // Setting title to the annotation 
      ann.setTitle(new PdfString("Hello"));              
      
      // Setting contents of the annotation       
      ann.setContents("Hi welcome to Tutorialspoint.");              
      
      // Creating a new page       
      PdfPage page =  pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF
      page.addAnnotation(ann);

      // Closing the document       
      document.close();       
      
      System.out.println("Annotation added successfully");    
   } 
}

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

javac TextAnnotation.java 
java TextAnnotation

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

Annotation added successfully

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek Linkanmerkungen zu einem PDF-Dokument hinzufügen.

Erstellen einer Linkanmerkung in einem PDF

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 Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt der PdfTextAnnotation-Klasse erstellen und dieses zur PdfPage hinzufügen.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen in einem 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 ein Zeichenfolgenwert (der den Pfad darstellt, in dem Sie eine PDF-Datei erstellen müssen) an den Konstruktor übergeben wird (siehe Abbildung unten).

// Creating a PdfWriter 
String dest = "C:/itextExamples/linkAnnotation.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 die übergeben PdfWriter Objekt zu seinem Konstruktor, wie unten gezeigt.

// 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 KlassePdfDocument.

Instanziieren Sie die Document Klasse, indem Sie das Objekt der Klasse PdfDocument übergeben, das in den vorherigen Schritten erstellt wurde (siehe unten).

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

Schritt 4: Erstellen eines PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot repräsentiert die Oberklasse aller Anmerkungen.

Unter seinen abgeleiteten Klassen, PdfLinkAnnotationKlasse repräsentiert die Link-Annotation. Erstellen Sie ein Objekt dieser Klasse, wie unten gezeigt.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

Schritt 5: Festlegen der Aktion der Anmerkung

Setzen Sie die Aktion auf die Annotation mit der setAction() Methode der PdfLinkAnnotation Klasse, wie unten gezeigt.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

Schritt 6: Erstellen eines Links

Erstellen Sie einen Link, indem Sie das instanziieren Link Klasse des Pakets com.itextpdf.layout.element, Wie nachfolgend dargestellt.

// Creating a link 
Link link = new Link("Click here", annotation);

Schritt 7: Hinzufügen der Linkanmerkung zu einem Absatz

Erstellen Sie einen neuen Absatz, indem Sie das instanziieren Paragraph Klasse und fügen Sie den im vorherigen Schritt erstellten Link mit dem hinzu add() Methode dieser Klasse, wie unten gezeigt.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

Schritt 8: Hinzufügen eines Absatzes zum Dokument

Fügen Sie den Absatz mit dem Befehl zum Dokument hinzu add() Methode der Document Klasse, wie unten gezeigt.

// Adding paragraph to document 
document.add(paragraph);

Schritt 9: 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 mithilfe der iText-Bibliothek Linkanmerkungen zu einem PDF-Dokument hinzufügen.

Es wird ein PDF-Dokument mit dem Namen erstellt linkAnnotation.pdf, fügt eine Linkanmerkung hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen LinkAnnotation.java.

import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.action.PdfAction; 
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Link; 
import com.itextpdf.layout.element.Paragraph;  

public class LinkAnnotation {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/linkAnnotation.pdf";       
      
      PdfWriter writer = new 
      PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document
      Document document = new Document(pdf);              
      
      // Creating a PdfLinkAnnotation object       
      Rectangle rect = new Rectangle(0, 0);       
      PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);              
      
      // Setting action of the annotation       
      PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");       
      annotation.setAction(action);             
      
      // Creating a link       
      Link link = new Link("Click here", annotation);              
      
      // Creating a paragraph       
      Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");              
      
      // Adding link to paragraph       
      paragraph.add(link.setUnderline());              
      
      // Adding paragraph to document       
      document.add(paragraph);             

      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");    
   } 
}

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

javac LinkAnnotation.java 
java LinkAnnotation

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

Annotation added successfully

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

In diesem Kapitel erfahren Sie, wie Sie einem PDF-Dokument mithilfe der iText-Bibliothek Zeilenanmerkungen hinzufügen.

Erstellen einer Zeilenanmerkung in einem PDF

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 an seinen Konstruktor.

Um Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt von erstellen PdfTextAnnotation Klasse und fügen Sie dies der PdfPage.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen 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 den Konstruktor übergeben, wie unten gezeigt.

// Creating a PdfWriter 
String dest = "C:/itextExamples/lineAnnotation.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 PDFDocument 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 PdfWriter-Objekt wie unten gezeigt an seinen 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 KlassePdfDocument.

Instanziieren Sie die Document-Klasse, indem Sie das Objekt der Klasse übergeben PdfDocument in den vorherigen Schritten erstellt, wie unten gezeigt.

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

Schritt 4: Erstellen eines PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot stellt die Oberklasse aller Anmerkungen dar.

Unter seinen abgeleiteten Klassen, PdfLineAnnotationKlasse repräsentiert die Zeilenanmerkung. Erstellen Sie ein Objekt dieser Klasse wie unten gezeigt.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation annotation = new PdfLineAnnotation(rect);

Schritt 5: Festlegen der Farbe der Anmerkung

Stellen Sie die Farbe mit der Taste auf die Anmerkung ein setColor() Methode der PdfAnnotationKlasse. Übergeben Sie bei dieser Methode das Farbobjekt, das die Farbe der Anmerkung darstellt, als Parameter.

// Setting color to the annotation 
annotation.setColor(Color.BLUE);

Schritt 6: Festlegen des Titels und des Inhalts der Anmerkung

Stellen Sie den Titel und den Inhalt der Anmerkung mit der Taste ein setTitle() und setContents() Methoden der PdfAnnotation Klasse jeweils wie unten gezeigt.

// Setting title to the PdfLineAnnotation 
annotation.setTitle(new PdfString("iText"));        

// Setting contents of the PdfLineAnnotation 
annotation.setContents("Hi welcome to Tutorialspoint");

Schritt 7: Hinzufügen der Anmerkung zu einer Seite

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse und fügen Sie die oben erstellte Annotation mit der Methode addAnnotation () der PdfPage-Klasse hinzu, wie unten gezeigt.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(annotation);

Schritt 8: 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 einem PDF-Dokument mithilfe der iText-Bibliothek Zeilenanmerkungen hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltlineAnnotation.pdf, fügt eine Zeilenanmerkung hinzu und speichert sie im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit Namen LineAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfLineAnnotation; 
import com.itextpdf.layout.Document;  

public class LineAnnotation {
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/lineAnnotations.pdf";       
      PdfWriter writer = new PdfWriter(dest);               

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

      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating a PdfPage       
      PdfPage page = pdf.addNewPage();              

      // creating PdfLineAnnotation object       
      Rectangle rect = new Rectangle(0, 0);
      float[] floatArray  = new float[]{
         20, 790, page.getPageSize().getWidth() - 20, 790
      };
      PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);              
      
      // Setting color of the PdfLineAnnotation       
      annotation.setColor(Color.BLUE);              
      
      // Setting title to the PdfLineAnnotation       
      annotation.setTitle(new PdfString("iText"));              
      
      // Setting contents of the PdfLineAnnotation       
      annotation.setContents("Hi welcome to Tutorialspoint");              
      
      // Adding annotation to the page       
      page.addAnnotation(annotation);               
      
      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");   
   } 
}

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

javac LineAnnotation.java 
java LineAnnotation

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

Annotation added successfully

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

In diesem Kapitel erfahren Sie, wie Sie einem PDF-Dokument mithilfe der iText-Bibliothek Text-Markup-Anmerkungen hinzufügen.

Erstellen einer Markup-Anmerkung in einem PDF

Sie können ein leeres PDF-Dokument erstellen, indem Sie das instanziieren DocumentKlasse. Während Sie diese Klasse instanziieren, müssen Sie a bestehenPdfDocumentObjekt als Parameter für seinen Konstruktor. Um Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt von erstellenPdfTextAnnotation Klasse und fügen Sie dies der PdfPage.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen 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/markupAnnotation.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 PdfWriter-Objekt wie unten gezeigt an seinen 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 KlassePdfDocument.

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 PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot repräsentiert die Oberklasse aller Anmerkungen.

Unter seinen abgeleiteten Klassen, PdfTextMarkupAnnotationKlasse repräsentiert die Text-Markup-Annotation. Erstellen Sie ein Objekt dieser Klasse wie unten gezeigt.

// Creating a PdfTextMarkupAnnotation object 
Rectangle rect = new Rectangle(105, 790, 64, 10); 
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);

Schritt 5: Festlegen der Farbe der Anmerkung

Stellen Sie die Farbe mit der Taste auf die Anmerkung ein setColor() Methode der PdfAnnotationKlasse. Übergeben Sie an diese Methode das Farbobjekt, das das darstelltcolor der Annotation als Parameter.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Schritt 6: Festlegen des Titels und des Inhalts der Anmerkung

Stellen Sie den Titel und den Inhalt der Anmerkung mit der Taste ein setTitle() und setContents() Methoden der PdfAnnotation Klasse jeweils.

// Setting title to the annotation 
annotation.setTitle(new PdfString("Hello!"));        

// Setting contents to the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Schritt 7: Hinzufügen der Anmerkung zu einer Seite

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse und fügen Sie die oben erstellte Anmerkung mit dem hinzu addAnnotation() Methode der PdfPage-Klasse, wie unten gezeigt.

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

// Adding annotation to a page in a PDF 
pdfPage.addAnnotation(annotation);

Schritt 8: 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 einem PDF-Dokument mithilfe der iText-Bibliothek Text-Markup-Anmerkungen hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltmarkupAnnotation.pdf, fügt eine Text-Markup-Anmerkung hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen MarkupAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;  

public class MarkupAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples/markupAnnotation.pdf";        
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                      
      
      // Creating a PdfTextMarkupAnnotation object       
      Rectangle rect = new Rectangle(105, 790, 64, 10);       
      float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
      PdfAnnotation annotation = 
         PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
      
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
      
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("Hello!"));
      
      // Setting contents to the annotation       
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
      
      // Creating a new Pdfpage
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Adding annotation to a page in a PDF       
      pdfPage.addAnnotation(annotation);
      
      // Closing the document
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }     
}

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

javac MarkupAnnotation.java 
java MarkupAnnotation

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

Annotation added successfully

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

In diesem Kapitel erfahren Sie, wie Sie einem PDF-Dokument mithilfe der iText-Bibliothek Kreisanmerkungen hinzufügen.

Erstellen einer Kreisanmerkung in einem PDF

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 Textanmerkungen in Ihrem PDF-Dokument zu verwenden, müssen Sie ein Objekt der PdfTextAnnotation-Klasse erstellen und dieses zum hinzufügen Pdfpage.

Im Folgenden finden Sie die Schritte zum Verwenden von Textanmerkungen 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 ein Zeichenfolgenwert (der den Pfad darstellt, in dem Sie eine PDF-Datei erstellen müssen) an den Konstruktor übergeben wird (siehe Abbildung unten).

// Creating a PdfWriter 
String dest = "C:/itextExamples/circleAnnotation.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 PdfWriter-Objekt wie unten gezeigt an seinen 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 PdfAnnotation-Objekts

Das PdfAnnotation Klasse des Pakets com.itextpdf.kernel.pdf.annot repräsentiert die Oberklasse aller Anmerkungen.

Unter seinen abgeleiteten Klassen, PdfCircleAnnotationKlasse repräsentiert die Kreisanmerkung. Erstellen Sie ein Objekt dieser Klasse wie unten gezeigt.

// Creating a PdfCircleAnnotation object Rectangle 
rect = new Rectangle(150, 770, 50, 50); 
PdfAnnotation annotation = new PdfCircleAnnotation(rect);

Schritt 5: Festlegen der Farbe der Anmerkung

Stellen Sie die Farbe mit der Taste auf die Anmerkung ein setColor() Methode der PdfAnnotationKlasse. Übergeben Sie bei dieser Methode das Farbobjekt, das die Farbe der Anmerkung darstellt, als Parameter.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Schritt 6: Festlegen des Titels und des Inhalts der Anmerkung

Stellen Sie den Titel und den Inhalt der Anmerkung mit der Taste ein setTitle() und setContents() Methoden der PdfAnnotation Klasse jeweils.

// Setting title to the annotation 
annotation.setTitle(new PdfString("circle annotation"));        

// Setting contents of the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Schritt 7: Hinzufügen der Anmerkung zu einer Seite

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse und fügen Sie die oben erstellte Anmerkung mit dem hinzu addAnnotation() Methode der PdfPage-Klasse, wie unten gezeigt.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

Schritt 8: 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 mithilfe der iText-Bibliothek einem PDF-Dokument Kreisanmerkungen hinzufügen. Es wird ein PDF-Dokument mit dem Namen erstelltcircleAnnotation.pdf, fügt eine Kreisanmerkung hinzu und speichert sie im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen PdfCircleAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfCircleAnnotation; 
import com.itextpdf.layout.Document;  

public class CircleAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples// circleAnnotation.pdf";             
      PdfDocument pdf = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);                      
   
      // Creating a PdfCircleAnnotation object       
      Rectangle rect = new Rectangle(150, 770, 50, 50);       
      PdfAnnotation annotation = new PdfCircleAnnotation(rect);              
   
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
   
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("circle annotation"));              
   
      // Setting contents of the annotation 
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));             
      
      // Creating a new page        
      PdfPage page = pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF       
      page.addAnnotation(annotation);                       
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }   
}

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

javac PdfCircleAnnotation.java 
java PdfCircleAnnotation

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

Annotation added successfully

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

In diesem Kapitel erfahren Sie, wie Sie mit der iText-Bibliothek einen Bogen auf ein PDF-Dokument zeichnen.

Zeichnen eines Bogens auf einem PDF

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.

Instanziieren Sie das, um einen Bogen auf einem PdfDocument zu zeichnen PdfCanvas Klasse des Pakets com.itextpdf.kernel.pdf.canvas und erstellen Sie einen Bogen mit dem arc() Methode dieser Klasse.

Im Folgenden finden Sie die Schritte zum Zeichnen eines Bogens in einem 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/drawingArc.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Wenn das 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 PdfWriter-Objekt wie unten gezeigt an seinen 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 wie unten gezeigt erstellt.

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

Schritt 4: Erstellen eines PdfCanvas-Objekts

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse.

Instanziieren Sie die PdfCanvas Objekt des Pakets com.itextpdf.kernel.pdf.canvas durch Übergabe der oben erstellten PdfPage Objekt an den Konstruktor dieser Klasse, wie unten gezeigt.

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

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

Schritt 5: Zeichnen des Bogens

Zeichnen Sie den Bogen mit der arc() Methode der Canvas Klasse und füllen Sie es mit der fill() Methode, wie unten gezeigt.

// Drawing an arc 
canvas.arc(50, 50, 300, 545, 0, 360);   

// Filling the arc 
canvas.fill();

Schritt 6: 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 einen Bogen in ein PDF-Dokument zeichnen.

Es wird ein PDF-Dokument mit dem Namen erstellt drawingArc.pdf, zeichnet einen Bogen hinein und speichert ihn im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen DrawingArc.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 DrawingArc {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter
      String dest = "C:/itextExamples/drawingArc.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);

      // Drawing an arc
      canvas.arc(50, 50, 300, 545, 0, 360);

      // Filling the arc
      canvas.fill();              

      // Closing the document
      doc.close();
      
      System.out.println("Object drawn on pdf successfully");       
   }     
}

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

javac DrawingArc.java 
java DrawingArc

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

Object drawn on pdf successfully

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

In diesem Kapitel erfahren Sie, wie Sie mit der iText-Bibliothek eine Linie in einem PDF-Dokument zeichnen.

Zeichnen einer Linie in einem PDF

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 an seinen Konstruktor.

Um eine Linie auf einem PdfDocument zu zeichnen, instanziieren Sie die PdfCanvas Klasse des Pakets com.itextpdf.kernel.pdf.canvas und erstellen Sie eine Linie mit dem moveTo() und lineTO() Methoden dieser Klasse.

Im Folgenden finden Sie die Schritte zum Zeichnen einer Linie 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/drawingLine.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 an den Konstruktor übergeben, wie unten gezeigt.

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

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

Schritt 4: Erstellen eines PdfCanvas-Objekts

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocument Klasse.

Instanziieren Sie die PdfCanvas Objekt des Pakets com.itextpdf.kernel.pdf.canvas durch Übergabe der oben erstellten PdfPage Objekt an den Konstruktor dieser Klasse, wie unten gezeigt.

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

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

Schritt 5: Zeichnen der Linie

Stellen Sie den Anfangspunkt der Linie mit der ein moveTO() Methode der Canvas Klasse, wie unten gezeigt.

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

Zeichnen Sie nun mit dem eine Linie von diesem Punkt zu einem anderen Punkt lineTo() Methode, wie unten gezeigt.

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

Schritt 6: 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 mithilfe der iText-Bibliothek eine Linie in einem PDF-Dokument zeichnen. Es wird ein PDF-Dokument mit dem Namen erstelltdrawingLine.pdf, zeichnet einen Bogen hinein und speichert ihn im Pfad C:/itextExamples/

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

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

javac DrawingLine.java 
java DrawingLine

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

Object drawn on pdf successfully

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

In diesem Kapitel erfahren Sie, wie Sie mit der iText-Bibliothek einen Kreis auf einem PDF-Dokument zeichnen.

Zeichnen eines Kreises auf einem PDF

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.

Instanziieren Sie das, um einen Kreis auf einem PdfDocument zu zeichnen PdfCanvas Klasse des Pakets com.itextpdf.kernel.pdf.canvas und rufen Sie die circle() Methode dieser Klasse.

Im Folgenden finden Sie die Schritte zum Zeichnen eines Kreises in einem 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/drawingCircle.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 PdfWriter-Objekt an den Konstruktor übergeben, wie unten gezeigt.

// 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 PdfCanvas-Objekts

Erstelle eine neue PdfPage Klasse mit der addNewPage() Methode der PdfDocumentKlasse. Instanziieren Sie diePdfCanvas Objekt des Pakets com.itextpdf.kernel.pdf.canvas durch das Passieren der PdfPage Objekt an den Konstruktor dieser Klasse, wie unten gezeigt.

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

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

Schritt 5 Einstellen der Farbe

Stellen Sie die Farbe des Kreises mit ein setColor() Methode der Canvas Klasse, wie unten gezeigt.

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

Schritt 6: Zeichnen des Kreises

Zeichnen Sie einen Kreis, indem Sie das aufrufen circle() Methode der Canvas, Wie nachfolgend dargestellt.

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

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 einen Kreis auf einem PDF-Dokument zeichnen. Es wird ein PDF-Dokument mit dem Namen erstelltdrawingCircle.pdf, zeichnet einen Kreis hinein und speichert ihn im Pfad C:/itextExamples/

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

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

javac DrawingCircle.java 
java DrawingCircle

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

Object drawn on pdf successfully

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

In diesem Kapitel erfahren Sie, wie Sie mithilfe der iText-Bibliothek Farbe und Schriftart für Text in einem PDF-Dokument festlegen.

Festlegen der Schriftart des Textes in einer PDF

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 Dokument einen Absatz hinzuzufügen, müssen Sie das instanziieren Paragraph Klasse und fügen Sie dieses Objekt dem Dokument mit der add()Methode. Mit den Methoden können Sie Farbe und Schriftart für den Text festlegensetFontColor() und setFont() beziehungsweise.

Im Folgenden finden Sie die Schritte zum Festlegen von Farbe und Schriftart für Text in einem 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/fonts.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 PDF-Dokuments

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 PdfWriter-Objekt wie unten gezeigt an seinen 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 der Document-Klasse

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, indem Sie das Objekt der Klasse übergeben PdfDocument in den vorherigen Schritten erstellt, wie unten gezeigt.

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

Schritt 4: Erstellen von Text

Erstellen Sie den Text, indem Sie das instanziieren Text Klasse des Pakets com.itextpdf.layout.element Wie nachfolgend dargestellt.

// Creating text object 
Text text = new Text("Tutorialspoint");

Schritt 5: Einstellen der Schriftart und Farbe auf den Text

Erstellen Sie die PdfFont Objekt mit dem createFont() Methode der Klasse PdfFontFactory des Pakets com.itextpdf.kernel.font Wie nachfolgend dargestellt

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

Stellen Sie nun die Schriftart mit dem Text auf den Text ein setFont() Methode der TextKlasse zu dieser Methode. Übergeben Sie diePdfFont Objekt als Parameter, wie unten gezeigt.

text1.setFont(font);

Um die Farbe auf den Text einzustellen, rufen Sie die setFontColor() Methode der Textklasse, wie unten gezeigt.

// Setting font color 
text.setFontColor(Color.GREEN);

Schritt 6: Hinzufügen von Text zum Absatz

Ein ... kreieren Paragraph Klassenobjekt und fügen Sie den oben erstellten Text mit seiner add() Methode, wie unten gezeigt.

// Creating Paragraph 
Paragraph paragraph = new Paragraph();  

// Adding text to the paragraph 
paragraph.add(text);

Schritt 7: Hinzufügen eines Absatzes zum Dokument

Fügen Sie den Absatz mit dem Befehl zum Dokument hinzu add() Methode der Document Klasse, wie unten gezeigt.

doc.add(paragraph1)

Schritt 8: 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 mithilfe der iText-Bibliothek Farbe und Schriftart für Text in einer PDF-Datei festlegen. Es wird ein PDF-Dokument mit dem Namen erstelltfonts.pdf, formatiert den Text und speichert ihn im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen FormatingTheText.java.

import com.itextpdf.io.font.FontConstants; 
import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.font.PdfFontFactory; 
import com.itextpdf.kernel.font.PdfFont; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph; 
import com.itextpdf.layout.element.Text;  

public class FormatingTheText {     
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/fonts.pdf";   
      PdfWriter writer = new PdfWriter(dest);             
   
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);
   
      // Creating text object       
      Text text1 = new Text("Tutorialspoint");              
   
      // Setting font of the text       
      PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);       
      text1.setFont(font);                 
   
      // Setting font color
      text1.setFontColor(Color.GREEN);
   
      // Creating text object
      Text text2 = new Text("Simply Easy Learning");
      text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));         
      
      // Setting font color
      text2.setFontColor(Color.BLUE);
      
      // Creating Paragraph
      Paragraph paragraph1 = new Paragraph();
      
      // Adding text1 to the paragraph
      paragraph1.add(text1);
      paragraph1.add(text2);
      
      // Adding paragraphs to the document
      doc.add(paragraph1);
      doc.close();       
      
      System.out.println("Text added to pdf ..");   
   }     
}

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

javac FormatingTheText.java 
java FormatingTheText

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

Text added to pdf ..

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

In diesem Kapitel erfahren Sie, wie Sie ein Bild in einem PDF-Dokument mithilfe der iText-Bibliothek skalieren.

Verkleinern des Inhalts in einer PDF

Im Folgenden finden Sie die Schritte zum Verkleinern des Inhalts einer PDF-Seite mithilfe der iText-Bibliothek.

Schritt 1: Erstellen eines PdfWriter- und PdfReader-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 object 
String dest = "C:/itextExamples/shrinking.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Erstellen Sie a, um Daten aus einem vorhandenen PDF zu lesen PdfReader Objekt wie unten gezeigt.

// Creating a PdfReader 
String src = "C:/itextExamples/pdfWithImage.pdf"; 
PdfReader reader = new PdfReader(src);

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.

Erstellen Sie Quell- und Ziel-PDF-Dokumente, indem Sie die übergeben PdfWriter und PdfReader Objekte an die Konstruktoren, wie unten gezeigt.

// Creating a PdfDocument objects 
PdfDocument destpdf = new PdfDocument(writer);         
PdfDocument srcPdf = new PdfDocument(reader);

Schritt 3: Öffnen einer Seite aus dem vorhandenen PDF

Holen Sie sich eine Seite aus dem Quell-PDF mit dem getPage() Methode der PdfPageKlasse. Ermitteln Sie mit diesem Objekt die Größe der Seite des Quelldokuments, wie unten gezeigt.

// Opening a page from the existing PDF 
PdfPage origPage = srcPdf.getPage(1);       

// Getting the page size 
Rectangle orig = origPage.getPageSizeWithRotation();

Schritt 4: Verkleinern des Inhalts des Quell-PDF

Verwendung der getScaleInstance() Methode der AffineTransform Klasse, verkleinern Sie den Inhalt einer Seite des Quelldokuments, wie unten gezeigt.

// Shrink original page content using transformation matrix 
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(    
   page.getPageSize().getWidth()/ orig.getWidth()/2,    
   page.getPageSize().getHeight()/ orig.getHeight()/2);

Schritt 5: Kopieren der Seite

Verketten Sie die affine transform matrix, im vorherigen Schritt erstellt, in die Matrix der canvas Objekt des Ziel-PDF-Dokuments, wie unten gezeigt.

// Concatenating the affine transform matrix to the current matrix 
PdfCanvas canvas = new PdfCanvas(page);       
canvas.concatMatrix(transformationMatrix);

Fügen Sie nun die Seitenkopie zum hinzu canvas Objekt der Ziel-PDF zum Quelldokument, wie unten gezeigt.

// Add the object to the canvas 
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); 
canvas.addXObject(pageCopy, 0, 0);

Schritt 6: 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, Wie nachfolgend dargestellt.

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

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 den Inhalt einer PDF-Seite mithilfe der iText-Bibliothek verkleinern. Es wird ein PDF-Dokument mit Namen erstelltshrinkingPDF.pdfverkleinert das Bild im PDF und speichert es im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit Namen ShrinkingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 

import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; 
import com.itextpdf.layout.Document;  

public class ShrinkPDF {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object
      String dest = "C:/itextExamples/shrinking.pdf";
      PdfWriter writer = new PdfWriter(dest);
      
      // Creating a PdfReader
      String src = "C:/itextExamples/pdfWithImage.pdf";
      PdfReader reader = new PdfReader(src);
      
      // Creating a PdfDocument objects
      PdfDocument destpdf = new PdfDocument(writer);
      PdfDocument srcPdf = new PdfDocument(reader);
         
      // Opening a page from the existing PDF 
      PdfPage origPage = srcPdf.getPage(1);
         
      // Getting the page size
      Rectangle orig = origPage.getPageSizeWithRotation();
         
      // Adding a page to destination Pdf
      PdfPage page = destpdf.addNewPage();
         
      // Scaling the image in a Pdf page     
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
         page.getPageSize().getWidth()/orig.getWidth()/2,
         page.getPageSize().getHeight()/ orig.getHeight()/2);
      
      // Shrink original page content using transformation matrix
      PdfCanvas canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      
      // Add the object to the canvas
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
      canvas.addXObject(pageCopy, 0, 0);
      
      // Creating a Document object
      Document doc = new Document(destpdf);
      
      // Closing the document
      doc.close();
      
      System.out.println("Table created successfully..");
   }
}

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

javac ShrinkingPDF.java 
java ShrinkingPDF

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

Table created successfully..

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

Das folgende Java-Programm zeigt, wie Sie den Inhalt einer PDF-Seite mithilfe der iText-Bibliothek auf verschiedene Seiten verteilen. Es wird ein PDF-Dokument mit dem Namen erstellttilingPdfPages.pdf und speichert es im Pfad C:/itextExamples/.

Speichern Sie diesen Code in einer Datei mit dem Namen TilingPDFPages.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  

public class TilingPDFPages {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/tilingPdfPages.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
      
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);               
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);               
      
      // Getting the page size       
      Rectangle orig = origPage.getPageSizeWithRotation();    
      
      // Getting the size of the page       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);  
      
      // Tile size 
      Rectangle tileSize = PageSize.A4.rotate();       
      AffineTransform transformationMatrix = 
         AffineTransform.getScaleInstance(tileSize.getWidth() / orig.getWidth() * 
         2f, tileSize.getHeight() / orig.getHeight() * 2f);              
      
      // The first tile       
      PdfPage page = 
      destpdf.addNewPage(PageSize.A4.rotate());       
      
      PdfCanvas canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);      
      canvas.addXObject(pageCopy, 0, -orig.getHeight() / 2f);              
      
      // The second tile       
      page = destpdf.addNewPage(PageSize.A4.rotate());       
      canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);        
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, -orig.getHeight() / 2f);
      
      // The third tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, 0, 0);    
      
      // The fourth tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, 0);
      
      // closing the documents
      destpdf.close();
      srcPdf.close();
      
      System.out.println("PDF created successfully..");
   }
}

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

javac TilingPDFPages.java 
java TilingPDFPages

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

PDF created successfully..

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

Das folgende Java-Programm zeigt, wie N-up auf einer PDF-Seite mithilfe der iText-Bibliothek ausgeführt wird. Es wird ein PDF-Dokument mit dem Namen erstelltnUppingPDF.pdf und speichert es im Pfad C:/itextExamples/

Speichern Sie diesen Code in einer Datei mit dem Namen NUppingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  
   
public class NUppingPDF {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/nUppingPDF.pdf";       
      PdfWriter writer = new PdfWriter(dest);                
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
         
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);                
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);       
      Rectangle orig = origPage.getPageSize();       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);              
      
      // N-up page       
      PageSize nUpPageSize = PageSize.A4.rotate();       
      PdfPage page = destpdf.addNewPage(nUpPageSize);       
      PdfCanvas canvas = new PdfCanvas(page);              
      
      // Scale page       
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance( 
         nUpPageSize.getWidth() / orig.getWidth() / 
         2f, nUpPageSize.getHeight() / orig.getHeight() / 2f);       
      canvas.concatMatrix(transformationMatrix);              
      
      // Add pages to N-up page       
      canvas.addXObject(pageCopy, 0, orig.getHeight());       
      canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());       
      canvas.addXObject(pageCopy, 0, 0);       
      canvas.addXObject(pageCopy, orig.getWidth(), 0);              
      
      // closing the documents       
      destpdf.close();       
      srcPdf.close();              
      
      System.out.println("PDF created successfully..");   
   } 
}

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

javac NUppingPDF.java 
java NUppingPDF

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

PDF created successfully..

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