iText 7 für Java: Vollständige Anleitung zum Erstellen und Bearbeiten von PDFs
iText 7 ist eine leistungsstarke Open-Source-Bibliothek (AGPL) für Java, die speziell für die programmatische Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten entwickelt wurde. Als Nachfolger der beliebten iText 5 Bibliothek bietet sie eine komplett überarbeitete, modulare Architektur, die auf Leistung, Flexibilität und Benutzerfreundlichkeit ausgelegt ist. Mit iText 7 können Entwickler eine Vielzahl von Aufgaben lösen: von der Generierung einfacher Rechnungen und Berichte bis hin zur Erstellung komplexer, rechtlich bindender Dokumente mit digitalen Signaturen, Formularen und Metadaten.
Warum iText 7 verwenden? In der heutigen digitalen Welt ist PDF das universelle Format für den Dokumentenaustausch, das eine konsistente Darstellung auf allen Geräten garantiert. Das manuelle Erstellen von PDF-Dateien ist zeitaufwendig und ineffizient, besonders bei großen Datenmengen. iText 7 automatisiert diesen Prozess und gibt Java-Entwicklern die vollständige Kontrolle über jeden Aspekt eines Dokuments – vom Hinzufügen von Text und Bildern bis hin zur Erstellung interaktiver Formulare und der Verwaltung von Zugriffsrechten. Die Bibliothek ist unverzichtbar in Dokumentenmanagement-Systemen, E-Commerce-Plattformen, im Bankwesen und in allen anderen Anwendungen, die PDF-Generierung oder -Verarbeitung erfordern.
Die Bibliothek unterstützt alle aktuellen PDF-Spezifikationen, einschließlich PDF 2.0. Darüber hinaus bietet sie zusätzliche Module (Add-ons) für die HTML-Konvertierung (pdfHTML), optische Zeichenerkennung (pdfOCR), SVG-Erstellung (pdfSVG) und Bildverarbeitung (pdfImage). Wichtig zu wissen: iText 7 wird unter einer dualen Lizenz vertrieben: AGPL (erfordert die Offenlegung des Quellcodes Ihrer Anwendung) und einer kommerziellen Lizenz (für proprietäre Nutzung).
Installation
Für die Installation von iText 7 in Ihr Java-Projekt verwenden Sie das Build-System Maven oder Gradle. Nachfolgend finden Sie den genauen Befehl zum Hinzufügen der Abhängigkeiten in Ihre pom.xml (Maven).
<!-- pom.xml -->
<dependencies>
<!-- Hauptmodul von iText 7 -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>8.0.4</version> <!-- Prüfen Sie die aktuelle Version auf Maven Central -->
<type>pom</type>
</dependency>
</dependencies>
Für Gradle (build.gradle):
implementation 'com.itextpdf:itext7-core:8.0.4'
Wenn Sie nur bestimmte Module benötigen (z. B. kernel, layout, io), können Sie diese einzeln einbinden:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>8.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>8.0.4</version>
</dependency>
Schnellstart: Minimales Arbeitsbeispiel
Der folgende Code erstellt ein einfaches PDF-Dokument mit dem Text "Hallo, Welt!" und speichert es in der Datei HalloWelt.pdf.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import java.io.FileNotFoundException;
public class HalloWelt {
public static void main(String[] args) throws FileNotFoundException {
// 1. PdfWriter erstellen, der die Daten in die Datei schreibt
PdfWriter writer = new PdfWriter("HalloWelt.pdf");
// 2. PdfDocument erstellen – das Objekt, das das PDF-Dokument repräsentiert
PdfDocument pdf = new PdfDocument(writer);
// 3. Document erstellen – ein High-Level-Objekt zum Hinzufügen von Elementen (Text, Tabellen usw.)
Docum Auch in der Bibliothek
Arbeiten mit Excel in PHP: Bibliotheken PhpSpreadsheet und OpenSpout
Geolokalisierung und Karten in Swift: CoreLocation und MapKit für iOS/macOS
SwiftyJSON für Swift: Vollständiges Handbuch mit Beispielen
PHP-Aufgabenplaner: cron-express