Zum Fußzeileninhalt springen
VERWENDUNG VON IRONPDF FüR JAVA

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

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

Es ist notwendig, eine Drittanbieter-Bibliothek zu haben, um Tabellen in PDF-Dokumenten mit einem Java-Programm zu erstellen. Es gibt mehrere Bibliotheken, die verwendet werden können, um Tabellen innerhalb von PDFs mit einem Java-Programm zu erstellen. Allerdings können sie teuer, schwer zu benutzen oder leistungsschwach sein. Es kann schwierig sein, eine Bibliothek zu finden, die einfach zu verwenden ist, kostenlos für die Entwicklung ist und effektiv arbeitet.

IronPDF ist eine Bibliothek, die sehr nützlich für die Manipulation von PDF-Dateien ist. Sie können weitere Informationen über IronPDF finden, indem Sie auf die offizielle IronPDF Java-Seite klicken.

Die folgenden Schritte werden in diesem Artikel behandelt:

  1. Erstellen Sie ein neues Projekt
  2. IronPDF-Bibliothek installieren
  3. Erstellen Sie ein neues PDF-Dokument
  4. Erstellen Sie eine Tabelle dafür
  5. Fügen Sie dynamische Werte dem PDF-Dokument hinzu

Erstellen Sie ein neues Java-Projekt

Öffnen Sie Ihre bevorzugte IDE. In diesem Artikel wird IntelliJ empfohlen, daher können die Schritte zum Erstellen eines neuen Projekts bei der Verwendung einer anderen IDE abweichen.

Öffnen Sie die IntelliJ IDE, klicken Sie in der oberen Menüleiste auf Datei > Neues Projekt. Benennen Sie Ihr Projekt, wählen Sie den Speicherort, die Sprache, das Bausystem und das JDK wie unten gezeigt.

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

Klicken Sie auf die Schaltfläche Projekt erstellen, 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 die notwendigen Abhängigkeiten und Repositories hinzu, um IronPDF zu verwenden. Der spezifische Inhalt für die pom.xml ist in diesem Artikel nicht angegeben, aber achten Sie darauf, die IronPDF-Bibliothek ordnungsgemäß mit Mavens Abhängigkeitsverwaltung einzubinden.

<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
XML

Geben Sie den folgenden Befehl in Ihr Terminal ein und drücken Sie die Eingabetaste, um die angegebenen Maven-Abhängigkeiten zu installieren.

mvn install
mvn install
SHELL

Dies wird IronPDF in diesem Projekt installieren.

Fügen Sie die folgende Import-Anweisung 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

Der folgende Beispielcode erstellt ein neues PDF-Dokument.

public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

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

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

Ein PDF wird aus dem obigen Code erstellt, wie im folgenden Bild gezeigt.

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

Erstellen Sie eine Tabelle für die PDF-Datei

Der folgende Code erstellt eine Tabelle in PDF.

public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Der obige Code verwendet einfache HTML-Tags, um eine Tabelle in PDF mit Java zu erstellen. Um eine Tabelle zu erstellen, muss man grundlegende Kenntnisse im Umgang mit HTML-Tags haben. Fast jeder Java-Programmierer hat Kenntnisse in HTML, so dass es sehr einfach ist, eine neue Tabelle und Tabellenzellen mit HTML-Tags zu erstellen.

Die von diesem Programm generierte PDF-Datei wird im folgenden Bild gezeigt:

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, das eine Tabelle aus HTML enthält

Es ist eine einfache Tabelle ohne Styling.

Jetzt fügen wir dieser Tabelle etwas Styling hinzu, wie z.B. Tabellenbreite, Rand, Layout, Schriftart, Hintergrundfarbe und mehr.

Styling zur Tabelle hinzufügen

Der folgende Beispielcode formatiert unsere Tabelle und fügt unserer Zelle Styling hinzu.

public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Das hinzugefügte CSS wird verwendet, um die Tabelle im PDF zu stylen. Daher ist es sehr effizient, CSS für das benötigte Styling zu verwenden.

Folgendes wird im PDF von diesem Programm generiert.

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

Dieser obige Code sieht sehr unordentlich aus. Aber er kann bereinigt werden, indem man den gesamten HTML-Inhalt in eine HTML-Datei verschiebt und dann das PDF aus dieser Datei generiert.

Eine Tabelle mit einer HTML-Datei in PDF mit Java erstellen

Erstellen Sie eine neue HTML-Datei und fügen Sie alle Ihre HTML-Inhalte in diese Datei ein, wie unten gezeigt:

So erstellen Sie eine Tabelle in einem PDF-Dokument mit Java (Tutorial), Abbildung 5: HTML in eigene HTML-Datei verschoben HTML in eigene HTML-Datei verschoben

Fügen Sie den folgenden Code zum Java-Programm hinzu.

// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Wir können sehen, wie einfach es ist, ein PDF mit einem HTML-Dokument zu generieren. Wenn Sie PDF-Dateien in Java erstellen müssen, ist der einfachste Weg, ein separates HTML-Dokument mit Inhalt und Styling zu erstellen und dann einfach Ihr HTML-Dokument mit einem einzigen Codezeile in PDF umzuwandeln.

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

Zusammenfassung

Dieses Tutorial hat gezeigt, wie man eine gestylte Tabelle in einer PDF-Datei mit Java erstellt und gelernt, HTML-Dateien in PDF-Dateien zu konvertieren. IronPDF for Java also offers functionality to add images to the PDF file, split PDF files, add headers and footers, apply digital signatures, and much more. Erkunden Sie die IronPDF-Dokumentation, um mehr über diese Funktionen und zusätzliche Möglichkeiten zu erfahren.

Remove the IronPDF watermark from your generated PDF documents by purchasing a license key or by registering for a free trial.

Häufig gestellte Fragen

Wie kann ich ein neues Java-Projekt zur Erstellung von PDFs starten?

Um ein neues Java-Projekt zur Erstellung von PDFs zu starten, können Sie eine IDE wie IntelliJ verwenden. Beginnen Sie mit der Einrichtung des Projekts und installieren Sie die IronPDF-Bibliothek über Maven, um die Erstellung und Bearbeitung von PDFs zu ermöglichen.

Welche Schritte sind bei der Konvertierung von HTML-Inhalten in ein PDF in Java erforderlich?

Um HTML in ein PDF in Java zu konvertieren, verwenden Sie die Methode PdfDocument.renderHtmlAsPdf von IronPDF.

Kann ich CSS verwenden, um Tabellen in mit Java generierten PDFs zu gestalten?

Ja, Sie können CSS verwenden, um Tabellen in PDFs zu gestalten, indem Sie das CSS in die HTML-Inhalte einfügen, bevor Sie es mit IronPDF in ein PDF rendern. So können Sie Schriftarten, Rahmen, Farben und mehr definieren.

Wie erstelle ich ein PDF aus einer externen HTML-Datei mit Java?

Um ein PDF aus einer externen HTML-Datei in Java zu erstellen, können Sie die Methode PdfDocument.renderHtmlFileAsPdf von IronPDF verwenden, welche die gesamte HTML-Datei in ein PDF-Dokument umwandelt.

Welche Vorteile bietet die Verwendung einer Drittanbieter-Bibliothek zur PDF-Erstellung in Java?

Die Verwendung einer Drittanbieter-Bibliothek wie IronPDF vereinfacht den Prozess der PDF-Erstellung in Java und bietet Funktionen wie die HTML-zu-PDF-Konvertierung, Tabellenstile und zusätzliche Funktionen wie Bild- und Digitalunterschriftunterstützung.

Wie kann ich Bilder in ein PDF-Dokument mit Java-Bibliotheken einfügen?

Sie können Bilder in ein PDF-Dokument einfügen, indem Sie sie in den HTML-Inhalt einbetten, den Sie mit IronPDF in ein PDF rendern. Diese Methode ermöglicht nahtlose Integration von visuellen Elementen.

Welche Optionen gibt es zum Aufteilen von PDFs in Java?

IronPDF bietet Optionen zum Aufteilen von PDFs, sodass Sie ein einzelnes PDF in mehrere Dokumente unterteilen können. Diese Funktion kann besonders nützlich sein, um große Dokumente zu verwalten oder bestimmte Abschnitte zu extrahieren.

Wie kann ich digitale Signaturen in PDFs mit Java anwenden?

Sie können digitale Signaturen auf PDFs anwenden, indem Sie die integrierten Funktionen von IronPDF verwenden, die das Hinzufügen von digitalen Signaturen zur Verbesserung der Dokumentensicherheit und Authentizität unterstützen.

Was soll ich tun, wenn auf meinen PDF-Dokumenten ein Wasserzeichen vorhanden ist?

Wenn auf Ihren mit IronPDF erstellten PDF-Dokumenten ein Wasserzeichen vorhanden ist, können Sie es entfernen, indem Sie einen Lizenzschlüssel erwerben oder sich für eine kostenlose Testlizenz registrieren.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen