VERWENDUNG VON IRONPDF FOR JAVA

Wie man mit Java eine Tabelle in einem PDF-Dokument erstellt (Tutorial)

Dieser Artikel zeigt, wie man Tabellen in einem PDF-Dokument mithilfe von Java erstellt.

Es ist notwendig, eine Drittanbieterbibliothek zu verwenden, um Tabellen in PDF-Dokumenten mit einem Java-Programm zu erstellen. Es gibt mehrere Bibliotheken, die zur Erstellung von Tabellen in PDFs mit einem Java-Programm verwendet werden können. Sie können jedoch teuer sein, schwierig zu bedienen oder Leistungsprobleme aufweisen. Es kann schwierig sein, eine Bibliothek zu finden, die einfach zu benutzen, für die Entwicklung kostenlos ist und effektiv funktioniert.

IronPDF ist eine Bibliothek, die sehr nützlich für die Bearbeitung von PDF-Dateien ist. Weitere Informationen zu IronPDF finden Sie, indem Sie auf die offizielle IronPDF Java-Seite klicken.

Die folgenden Schritte werden in diesem Artikel behandelt:

  1. Ein neues Projekt erstellen

  2. IronPDF-Bibliothek installieren

  3. Ein neues PDF-Dokument erstellen

  4. Erstellen Sie eine Tabelle für sie

  5. Fügen Sie dem PDF-Dokument dynamische Werte hinzu

Ein neues Java-Projekt erstellen

Öffnen Sie Ihre bevorzugte IDE. In diesem Artikel wird IntelliJ empfohlen, daher können sich die Schritte zur Erstellung eines neuen Projekts bei Verwendung einer anderen IDE unterscheiden.

Öffnen Sie die IntelliJ-IDE, und klicken Sie in der oberen Menüleiste auf File > New Project. Benennen Sie Ihr Projekt, wählen Sie den Speicherort, die Sprache, das Build-System und das JDK wie unten gezeigt.

So erstellen Sie eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 1: IntelliJ IDE Neues Projektfenster

Neues Projektfenster von IntelliJ IDE

Klicken Sie auf die Projekt erstellen-Schaltfläche, und ein neues Projekt wird erstellt.

IronPDF-Bibliothek installieren

Installieren Sie nun die IronPDF-Bibliothek im neu erstellten Projekt. Fahren Sie mit den folgenden Schritten fort.

Öffnen Sie die pom.xml-Datei und fügen Sie den folgenden XML-Inhalt unter dem schließenden Tag der Eigenschaften hinzu.

`xml-mvn-install


Geben Sie den folgenden Befehl in Ihr Terminal ein und drücken Sie die Eingabetaste.

```console
mvn install

Dies wird IronPDF in diesem Projekt installieren.

Fügen Sie die folgende Importanweisung für die Verwendung von IronPDF-Klassen hinzu.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Zunächst lernen wir, einfache PDF-Dokumente in Java zu erstellen.

Ein PDF-Dokument erstellen

Mit dem folgenden Beispielcode wird ein neues PDF-Dokument erstellt.

public static void main(String[] args) throws IOException {
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf") );
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Die Methode renderHtmlAsPdf nimmt einen String als Argument und konvertiert diesen String in eine Instanz eines PDF-Dokuments.

Die saveAs-Funktion nimmt einen Dateipfad als Argument und speichert das neu erstellte PDF-Dokument in dem im Argument angegebenen Dateipfad.

Aus dem obigen Code wird eine PDF-Datei erstellt, die in der folgenden Abbildung dargestellt ist.

So erstellen Sie eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 2: Neues PDF-Dokument

Neues PDF-Dokument

Tabelle für die PDF-Datei erstellen

Mit dem folgenden Code wird eine Tabelle im PDF-Format erstellt.

public static void main(String[] args) throws IOException {

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Der obige Code verwendet einfache HTML-Tags, um mit Java eine Tabelle in PDF zu erstellen. Um eine Tabelle zu erstellen, müssen Sie also Grundkenntnisse in der Verwendung von HTML-Tags haben. Fast jeder Java-Programmierer verfügt über HTML-Kenntnisse, so dass es sehr einfach ist, eine neue Tabelle und Tabellenzellen mit HTML-Tags zu erstellen.

Die von diesem Programm erzeugte PDF-Datei ist in der folgenden Abbildung zu sehen:

So erstellen Sie eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 3: PDF-Dokument, das eine Tabelle aus HTML enthält

PDF-Dokument mit einer Tabelle aus HTML

Es ist eine einfache Tabelle ohne Stil.

Nun fügen wir dieser Tabelle einige Formatierungen hinzu, wie z. B. Tabellenbreite, Rand, Layout, Schriftart, Hintergrundfarbe und vieles mehr.

Styling zur Tabelle hinzufügen

Der folgende Beispielcode wird unsere Tabelle formatieren und unseren Zellen Stil hinzufügen.

public static void main(String[] args) throws IOException {
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
    try {
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Das hinzugefügte CSS wird für das Styling der Tabelle im PDF verwendet. Daher ist es sehr effizient, CSS für die erforderliche Gestaltung zu verwenden.

Nachfolgend ist das PDF, das von diesem Programm generiert wurde.

Wie erstelle ich eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 4: PDF-Dokument, das eine Tabelle aus HTML enthält und mit CSS gestaltet ist

PDF-Dokument mit einer Tabelle aus HTML und mit CSS gestaltet

Dieser obenstehende Code sieht sehr unordentlich aus. Aber es kann bereinigt werden, indem der gesamte HTML-Inhalt in eine HTML-Datei verschoben und das PDF dann aus dieser Datei generiert wird.

Erstellen einer Tabelle aus einer HTML-Datei in PDF mit Java

Erstellen Sie eine neue HTML-Datei und fügen Sie den gesamten HTML-Inhalt in diese Datei ein, wie unten gezeigt:

Erstellen einer Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 5: HTML wurde in eine eigene HTML-Datei verschoben

HTML in eine eigene HTML-Datei verschoben

Fügen Sie den folgenden Code in das Java-Programm ein.

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
    myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
    throw new RuntimeException(e);
}
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
    myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Wir sehen, wie einfach es ist, aus einem HTML-Dokument ein PDF zu erstellen. Wenn Sie PDF-Dateien in Java erstellen müssen, ist es am einfachsten, ein separates HTML-Dokument mit Inhalt und Styling zu erstellen und dann Ihr HTML-Dokument mit einer einzigen Codezeile in PDF zu konvertieren.

So erstellen Sie eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 6: Endgültiges PDF-Dokument mit Stil

Endgültiges PDF-Dokument mit Stil

Zusammenfassung

Dieses Tutorial zeigte, wie man mit Java eine formatierte Tabelle in einer PDF-Datei erstellt und wie man HTML-Dateien in PDF-Dateien umwandelt. IronPDF for Java bietet auch Funktionen zum Hinzufügen von Bildern zur PDF-Datei, Teilen von PDF-Dateien, Hinzufügen von Kopf- und Fußzeilen, Anwenden digitaler Signaturen und vieles mehr. Erkunden Sie die IronPDF-Dokumentation, um mehr über diese Funktionen und zusätzliche Möglichkeiten zu erfahren.

Entfernen Sie das IronPDF-Wasserzeichen aus Ihren generierten PDF-Dokumenten, indem Sie einen Lizenzschlüssel erwerben oder sich für eine kostenlose Testversion registrieren.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full Stack WebOps Marketing Engineer bei Iron Software. Schon in jungen Jahren vom Programmieren angezogen, sah er das Rechnen sowohl als mysteriös als auch zugänglich an, was es zum perfekten Medium für Kreativität und Problemlösung machte.

Bei Iron Software genießt Darrius es, neue Dinge zu erschaffen und komplexe Konzepte zu vereinfachen, um sie verständlicher zu machen. Als einer unserer ansässigen Entwickler hat er sich auch freiwillig gemeldet, um Schüler zu unterrichten und sein Fachwissen mit der nächsten Generation zu teilen.

Für Darrius ist seine Arbeit erfüllend, weil sie geschätzt wird und einen echten Einfluss hat.

< PREVIOUS
PNG in Java in PDF umwandeln (Anleitung)
NÄCHSTES >
PDF Creator für Java (Schritt-für-Schritt-Tutorial)

Sind Sie bereit, loszulegen? Version: 2025.5 gerade veröffentlicht

Lizenzen anzeigen >