PDF-Generierung in Java mit iText

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist iText und wozu wird es benötigt?

iText ist eine leistungsstarke Bibliothek für Java, die zum Erstellen und Bearbeiten von PDF-Dokumenten entwickelt wurde. Sie ermöglicht die programmatische Generierung von PDF-Dateien, das Hinzufügen von Text, Bildern, Tabellen, Formularen und Anmerkungen. Die Bibliothek wird häufig in Unternehmensanwendungen zur Automatisierung von Berichten, Rechnungen, Verträgen und anderen Dokumenten eingesetzt. Der Hauptvorteil von iText ist die vollständige Kontrolle über den Inhalt und die Struktur von PDFs.

Installation von iText

Um iText in einem Maven-Projekt einzubinden, fügen Sie die folgende Abhängigkeit in die pom.xml ein:

<dependency>    <groupId>com.itextpdf</groupId>    <artifactId>itext7-core</artifactId>    <version>7.2.5</version>    <type>pom</type></dependency>

Für Gradle:

implementation 'com.itextpdf:itext7-core:7.2.5'

Grundlegende Funktionen von iText

  • PDF-Erstellung von Grund auf: Hinzufügen von Absätzen, Tabellen, Bildern.
  • Arbeiten mit Formularen: Ausfüllen und Extrahieren von Daten aus AcroForms.
  • Verschlüsselung und Schutz: Festlegen von Passwörtern, Einschränkung des Druckens oder Kopierens.
  • Konvertierung von HTML in PDF: mit dem Modul html2pdf.
  • Zusammenführen und Teilen von Seiten: Arbeiten mit mehreren Dokumenten.

Java-Codebeispiel

Erstellen wir ein einfaches PDF mit Text und einer Tabelle:

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.Table;

public class PdfGenerator { public static void main(String[] args) throws Exception { String dest = "example.pdf"; PdfWriter writer = new PdfWriter(dest); PdfDocument pdf = new PdfDocument(writer); Document document = new Document(pdf);

// Überschrift hinzufügen document.add(new Paragraph("Hallo, Welt!"));

// Tabelle 3x2 erstellen Table table = new Table(3); table.addCell("Name"); table.addCell("Alter"); table.addCell("Stadt"); table.addCell("Anna"); table.addCell("25"); table.addCell("Moskau"); table.addCell("Ivan"); table.addCell("30"); table.addCell("SPb");

document.add(table); document.close(); System.out.println("PDF erstellt: " + dest); }}

Wann iText verwenden

Die Bibliothek eignet sich ideal für:

  • Generierung von Berichten und Rechnungen in Webanwendungen (Spring Boot, Java EE).
  • Automatisierung des Dokumentenflusses: Verträge, Urkunden, Lieferscheine.
  • Erstellung interaktiver PDF-Formulare zum Ausfüllen durch Benutzer.
  • Konvertierung von HTML-Vorlagen in PDF für den Druck oder Versand.

iText ist der De-facto-Standard für die Arbeit mit PDF in Java. Alternativen: Apache PDFBox (niedrigschwelliger) und Aspose.PDF (kommerziell).

Empfehlungen