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 for Java-Seite klicken.
Die folgenden Schritte werden in diesem Artikel behandelt:
- Erstellen Sie ein neues Projekt
- IronPDF-Bibliothek installieren
- Erstellen Sie ein neues PDF-Dokument
- Erstellen Sie eine Tabelle dafür
- 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.
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 Datei pom.xml und fügen Sie die notwendigen Abhängigkeiten und Repositories hinzu, um IronPDF verwenden zu können. Der genaue Inhalt für pom.xml wird in diesem Artikel nicht bereitgestellt, aber stellen Sie sicher, dass Sie die IronPDF Bibliothek mithilfe der Abhängigkeitsverwaltung von Maven ordnungsgemäß einbinden.
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>VERSION_NUMBER</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>VERSION_NUMBER</version>
</dependency>
</dependencies>
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
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.*;
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);
}
}
Die Methode renderHtmlAsPdf nimmt eine Zeichenkette als Argument und wandelt diese Zeichenkette in eine Instanz eines PDF-Dokuments um.
Die Funktion saveAs nimmt einen Dateipfad als Argument und speichert das neu erstellte PDF-Dokument unter dem im Argument angegebenen Dateipfad.
Ein PDF wird aus dem obigen Code erstellt, wie im folgenden Bild gezeigt.
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);
}
}
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:
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);
}
}
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.
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:
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);
}
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.
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 bietet auch Funktionen zum Hinzufügen von Bildern zur PDF-Datei, PDF-Dateien zu teilen, Kopf- und Fußzeilen hinzuzufügen, digitale Signaturen anzuwenden, 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 von Ihren generierten PDF-Dokumenten, indem Sie einen Lizenzschlüssel kaufen oder sich für eine kostenlose Testversion registrieren.
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.




