itext Tutorial
Erste Schritte mit itext
Suche…
Bemerkungen
Wenn Sie sich die PDF-Erstellung ansehen, finden Sie zwei unterschiedliche Ansätze:
- Grafische Designer verwenden Desktop-Anwendungen wie Adobe Acrobat oder Adobe InDesign, um ein Dokument in einem manuellen oder halbjährlichen Prozess zu erstellen.
- In einem anderen Kontext werden PDF-Dokumente programmgesteuert erstellt, wobei eine API verwendet wird, um PDF-Dateien direkt aus Softwareanwendungen zu erstellen, ohne dass ein Eingreifen des Benutzers erforderlich ist. Manchmal wird das Dokument zuerst in einem Zwischenformat erstellt (z. B. XML, HTML, ...) und dann in PDF konvertiert.
Diese unterschiedlichen Ansätze erfordern unterschiedliche Softwareprodukte.
Gleiches gilt für die PDF-Bearbeitung.
- Sie können ein PDF-Dokument manuell in Tools wie Adobe Acrobat aktualisieren.
- Es gibt auch Tools, die das automatische Ausfüllen von Formularen basierend auf Informationen aus einer Datenbank ermöglichen.
iText ist ein Werkzeug, das sich auf die Automatisierungsseite der Dinge konzentriert.
Was ist iText?
iText ist ein SDK, das entwickelt wurde, um es den Entwicklern zu ermöglichen (und vieles mehr):
- Generieren Sie Dokumente und Berichte basierend auf Daten aus einer XML-Datei oder einer Datenbank
- Erstellen Sie Karten und Bücher mit zahlreichen interaktiven Funktionen, die in PDF verfügbar sind
- Hinzufügen von Lesezeichen, Seitennummern, Wasserzeichen und anderen Funktionen zu vorhandenen PDF-Dokumenten
- Teilen oder verketten Sie Seiten aus vorhandenen PDF-Dateien
- Füllen Sie interaktive Formulare aus
- PDF-Dokumente digital signieren
- Bereitstellen von dynamisch erzeugten oder manipulierten PDF-Dokumenten an einen Webbrowser
iText ist kein Endbenutzer-Tool. Sie müssen iText in Ihre eigenen Anwendungen einbauen, damit Sie den PDF-Erstellungs- und Bearbeitungsprozess automatisieren können.
Wann ist iText zu verwenden?
Typischerweise wird iText in Projekten verwendet, die eine der folgenden Anforderungen haben:
- Der Inhalt ist nicht vorab verfügbar: er wird basierend auf Benutzereingaben oder Echtzeitdatenbankinformationen berechnet.
- Die PDF-Dateien können aufgrund der großen Menge an Inhalten nicht manuell erstellt werden: eine große Anzahl von Seiten oder Dokumenten.
- Dokumente müssen im unbeaufsichtigten Modus in einem Stapelprozess erstellt werden.
- Der Inhalt muss angepasst oder personalisiert werden. Zum Beispiel muss der Name des Endbenutzers auf mehreren Seiten gestempelt werden.
Diese Anforderungen treffen Sie häufig in Webanwendungen, bei denen der Inhalt dynamisch an einen Browser geliefert werden muss. Normalerweise würden Sie diese Informationen in Form von HTML bereitstellen, aber für einige Dokumente wird PDF gegenüber HTML bevorzugt, um eine bessere Druckqualität zu erzielen, die gleiche Darstellung auf einer Vielzahl von Plattformen, aus Sicherheitsgründen, um bestimmte Branchenstandards einzuhalten (z als PAdES, PDF / A oder PDF / UA) oder um die Dateigröße zu verringern.
Versionen
Ausführung | Erste Veröffentlichung | Neueste Erscheinung | Ende des Lebens |
---|---|---|---|
0,30 - 0,99 | 2000-02-14 | 2003-05-01 | 2005-12-31 |
1,00 - 1,4,8 | 2003-06-25 | 2006-12-19 | 2009-12-31 |
2,00 - 2,1,7 | 2003-02-15 | 2009-07-07 | 2012-12-31 |
5.0.0 - 5.5.11 | 2009-12-07 | 2017-03-20 | 2018-12-31 |
7.0.0 - ... | 2016-05-03 | ... | 2025-12-31 |
Installation oder Setup
iText für Java
Das Importieren der iText-Gläser aus dem Central Maven Repository ist die beste Methode, um iText 7 zu installieren. Diese einfachen Videos erläutern, wie dies mit verschiedenen IDEs geschieht:
- Wie importiere ich iText 7 in Eclipse, um eine Hello World PDF zu erstellen?
- Wie importiere ich iText 7 in Netbeans, um ein Hello World PDF zu erstellen?
- Wie importiere ich iText 7 in IntelliJ IDEA, um eine Hello World PDF zu erstellen?
In diesen Lernprogrammen definieren wir nur den kernel
und die layout
als Abhängigkeiten. Maven importiert auch automatisch das io
jar, da die kernel
Pakete von den io
Paketen abhängen.
Dies ist die grundlegende Liste der Abhängigkeiten für die Standardnutzung von iText 7:
<dependencies>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.18</version>
</dependency>
</dependencies>
Jede Abhängigkeit entspricht einem Jar in Java und einer DLL in C #.
-
kernel
undio
: enthalten einfache funktionen. -
layout
: enthält übergeordnete Funktionen. -
forms
: für alle AcroForm-Beispiele erforderlich. -
pdfa
: wird für PDF / A-spezifische Funktionen benötigt. -
pdftest
: wird für die Beispiele benötigt, die auch ein Test sind.
Für eine spezifischere Verwendung von iText 7 benötigen Sie möglicherweise zusätzliche Gläser:
-
barcodes
: Verwenden Sie diesebarcodes
, wenn Siebarcodes
erstellen möchten. -
hyph
: Verwenden Sie diesehyph
, wenn der Text getrennt werden soll. -
font-asian
: Verwenden Sie hierfür die CJK-Funktionalität (Chinesisch / Japanisch / Koreanisch). -
sign
: Verwenden Sie dies, wenn Sie Unterstützung für digitale Signaturen benötigen.
Alle oben aufgeführten Gläser sind unter der AGPL-Lizenz erhältlich. Sie können diese Jars auch in einer ZIP-Datei herunterladen, die auf Github gehostet wird: https://github.com/itext/itext7/releases
Wenn Sie diese Gläser verwenden möchten, müssen Sie sie zu Ihrem CLASSPATH hinzufügen, so wie Sie auch jedes andere Glas hinzufügen würden.
Zusätzliche iText 7-Funktionen sind über Add-Ons verfügbar, die unter einer kommerziellen Lizenz als Dosen geliefert werden. Wenn Sie eines dieser Add-Ons verwenden möchten oder iText 7 mit Ihrem proprietären Code verwenden möchten, benötigen Sie einen kommerziellen Lizenzschlüssel für iText 7 (siehe den rechtlichen Abschnitt der iText-Website ).
Sie können einen solchen Lizenzschlüssel mit dem Lizenzschlüsselmodul importieren. Sie können den Lizenzschlüssel wie folgt erhalten:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-licensekey</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
Einige Funktionen in iText sind Closed Source. Wenn Sie beispielsweise PdfCalligraph verwenden möchten , benötigen Sie das typography
. Dieses Modul funktioniert nicht ohne einen offiziellen Lizenzschlüssel.
iText für C #
Sie können eine ZIP-Datei mit allen unter der AGPL verfügbaren DLLs herunterladen. Weitere Informationen zu diesen DLLs finden Sie in der Java-Dokumentation.
Hallo Welt
Dies ist ein sehr einfaches Programm, um ein PDF mit iText 7 / Java zu erstellen:
//Initialize writer
PdfWriter writer = new PdfWriter(dest);
//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);
//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));
//Close document
doc.close();
( Listing_01_01_HelloWorld.java )
Von dieser Seite aus können Sie zu vielen anderen Beispielen navigieren.
Und dies ist ein sehr einfaches Programm, um ein PDF mit dem Vorläufer iText 5.5.x / Java zu erstellen:
// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
document.add(new Paragraph("Hello World!"));
// step 5
document.close();
( HelloWorld.java )
Es gibt auch viele weitere Beispiele, um von dieser Seite aus zu navigieren.
Diese beiden Beispiele sehen ziemlich ähnlich aus. Die Vorteile der neu gestalteten iText 7-API werden jedoch offensichtlich, sobald weniger belanglose Beispiele näher betrachtet werden. Navigieren Sie daher einfach durch den Beispielquellcode von den obigen Links und vergleichen Sie.