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.