Ein Vergleich zwischen IronPDF for Java und iTextPDF itext7 for Java
Heute können Entwickler dank modernster Technologie von besseren Lösungen profitieren.
Die Zukunft der Software-Entwicklungsprozesse liegt in der Automatisierung. Seit langem stellen PDF-Dateien für Entwickler Schwierigkeiten dar. Beim Arbeiten mit PDFs (d.h. Erstellen von Inhalten und Konvertieren von Inhalten aus anderen Formaten in PDF) gibt es zahlreiche Überlegungen, die angestellt werden müssen. Mit der Entwicklung zahlreicher Bibliotheken, die beim Lesen, Schreiben, Erstellen und sogar beim Konvertieren von PDFs aus vielen Formaten helfen, sind diese Bedürfnisse nun gedeckt.
Dieser Artikel vergleicht zwei der bekanntesten PDF-Bibliotheken für Java-Entwickler zum Bearbeiten, Drucken und Erstellen von PDF-Dateien:
- IronPDF für Java Bibliothek: Eine Java-PDF-Bibliothek, die sich auf das Generieren von PDFs aus HTML fokussiert.
- ITextPDF Bibliothek: Eine Java-First, Open-Source-Bibliothek, die sich auf das Erzeugen von PDFs mit einer programmierbaren API konzentriert.
Wir werden die Funktionen der beiden Bibliotheken untersuchen, bevor wir zu den Leistungskosten für das Konvertieren und Verarbeiten der PDFs übergehen, um festzustellen, welche Bibliothek am besten für Ihre Anwendung geeignet ist. Darüber hinaus wird die Dauer jeder Bibliothek zu Forschungszwecken aufgezeichnet.
Installation von IronPDF for Java
Um IronPDF für Java zu installieren, geben Sie es einfach als Abhängigkeit an. Um IronPDF als Abhängigkeit zu definieren, fügen Sie bitte Folgendes zu Ihrem pom.xml hinzu:
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
Hinweis: Sie können die .jar-Datei manuell herunterladen:
- Gehen Sie zum IronPDF für Java Maven-Repository, um die Maven-Repo-Seite aufzurufen.
- Entpacken Sie den Inhalt der ZIP-Datei.
- Erstellen Sie einen Ordner und kopieren Sie den Inhalt des ZIP-Ordners.
- Öffnen Sie die Eclipse IDE.
- Erstellen Sie ein neues Java-Projekt.
- Fügen Sie die IronPDF-.jar-Dateien in den Klassenpfad ein.
- Schließen Sie den Projekterstellungsassistenten ab. Das war's!
IronPDF-Funktionen
Entwickler können mit der leistungsstarken IronPDF-PDF-Bibliothek schnell PDFs erstellen, lesen und bearbeiten. IronPDF verwendet den Chrome-Engine im Kern und bietet eine Fülle von praktischen und leistungsstarken Funktionen, einschließlich der Fähigkeit, HTML5, JavaScript, CSS und Bilddateien in PDF zu konvertieren. IronPDF kann auch einzigartige Kopf- und Fußzeilen hinzufügen und PDF-Dateien genau so erstellen, wie sie in einem Webbrowser erscheinen. Verschiedene Webformate, einschließlich HTML, ASPX, Razor View und MVC, werden von IronPDF unterstützt. Die wichtigsten Merkmale von IronPDF sind wie folgt:
- PDFs mit Java-Programmen einfach erstellen, lesen und bearbeiten.
- PDFs von jeder Website-URL erstellen, die Einstellungen für User-Agent, Proxies, Cookies, HTTP-Header und Formularvariablen zur Unterstützung der Anmeldung mit HTML-Anmeldeformularen enthält.
- Fotos aus bereits bestehenden PDF-Veröffentlichungen entfernen.
- Texte, Fotos, Lesezeichen, Wasserzeichen und andere Elemente zu PDFs hinzufügen.
- Seiten mehrerer PDF-Dokumente zusammenfügen und teilen.
- Konvertieren Sie Mediendateitypen, einschließlich CSS-Dateien, in Dokumente.
Installation von ITextPDF Java
ITextPDF ist kostenlos erhältlich auf der iTextPDF-Website. Diese Bibliothek ist Open-Source unter dem AGPL-Softwarelizenzmodell.
Um die iText-Bibliothek in Ihre Anwendung einzubinden, fügen Sie das folgende Maven Repository in Ihre pom.xml-Datei ein.
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
Laden Sie die iTextPDF-.jar-Dateien direkt herunter und laden Sie die slf4j.jar-Datei direkt herunter. Um die Bibliotheken zu verwenden, fügen Sie die iTextPDF-.jar-Dateien zum Klassenpfad des Systems hinzu.
IText-Bibliothek Merkmale
- PDFs aus HTML, XML und Bildern (png, jpg, usw.) erstellen.
- Lesezeichen, Seitennummern und Markierungen zu PDF-Dokumenten hinzufügen.
- Eine PDF-Datei in mehrere PDFs aufteilen oder mehrere PDFs in ein einziges PDF kombinieren.
- PDF-Formulare programmatisch bearbeiten.
- Texte, Bilder und geometrische Figuren zu PDFs hinzufügen.
HTML-Strings in PDFs mit iTextPDF Java konvertieren
In iText for Java ist HTMLConverter die primäre Klasse, die zum Konvertieren von HTML in PDF verwendet wird.
Es gibt drei Hauptmethoden in HTMLConverter:
convertToDocument, das einDocument-Objekt zurückgibt.convertToElements, das eine Liste vonIElementObjekten zurückgibt.convertToPdfkümmert sich um die Konvertierung von HTML-Inhalten in PDF. Diese Methode akzeptiert HTML-Eingaben alsString,FileoderInputStreamund gibt einFile,OutputStreamoderDocument-Objekt zurück.
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
// HTML content to be converted to PDF
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='http://hmkcode.com'>hmkcode.com</a>";
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML content to PDF and save it
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
HTML-Strings in PDFs mit IronPDF for Java konvertieren
Die Klasse PdfDocument aus IronPDF bietet mehrere statische Methoden, mit denen Java-Entwickler HTML-Text aus verschiedenen Quellen erzeugen können. Eine solche Methode ist die PdfDocument.renderHtmlAsPdf-Methode, die eine HTML-Markup-Zeichenkette in ein PDF-Dokument umwandelt.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Set the license and log path
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert the HTML content to a PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the generated PDF
myPdf.saveAs(Paths.get("html_saved.pdf"));
}
}
HTML-Dateien in PDF mit ITextPDF Java konvertieren
Mit der Methode convertToPdf kann jede HTML-Datei in eine PDF-Datei konvertiert werden.
Bilder und CSS-Dateien können in die HTML-Datei eingebunden werden. Sie müssen sich jedoch im selben Verzeichnis wie die HTML-Datei befinden. Mit der Klasse ConverterProperties lässt sich der Basispfad für referenzierte CSS- und Bilddateien festlegen. Dies ist nützlich, wenn sich die HTML-Dateiressourcen in verschiedenen Verzeichnissen befinden.
Betrachten Sie eine index.html-Datei, die folgenden Markup enthält.
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<title>HTML to PDF</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>HTML to PDF</h1>
<p>
<span class="itext">itext</span> 7.1.9
<span class="description"> converting HTML to PDF</span>
</p>
<table>
<tr>
<th class="label">Title</th>
<td>iText - Java HTML to PDF</td>
</tr>
<tr>
<th>URL</th>
<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
</tr>
</table>
</body>
</html>
Der folgende Quellcode konvertiert die index.html-Datei in ein PDF:
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
package com.hmkcode;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
// Convert the HTML file to PDF and save it
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println("PDF Created!");
}
}
HTML-Dateien in PDF mit IronPDF for Java konvertieren
Die Methode PdfDocument.renderHtmlFileAsPdf von IronPDF konvertiert HTML-Dateien, die sich auf einem Computer oder in einem Netzwerkdateipfad befinden.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
public class IronPdfExample {
public static void main(String[] args) {
// Convert the HTML file to PDF and save it
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
}
}
Bilder zu PDF-Dateien mit IronPDF for Java hinzufügen
Mit der Methode PdfDocument.fromImage von IronPDF können Sie mehrere Bilder in einer einzigen PDF-Datei zusammenfassen. Das folgende Beispiel verwendet diese Methode für eine kurze Liste von Bildern, die sich auf verschiedenen Dateisystempfaden befinden.
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class IronPdfExample {
public static void main(String[] args) {
// Create an ArrayList containing the list of images that you want to combine
// into ONE PDF document
Path imageA = Paths.get("directoryA/1.png");
Path imageB = Paths.get("directoryB/2.png");
Path imageC = Paths.get("3.png");
List<Path> imageFiles = new ArrayList<>();
imageFiles.add(imageA);
imageFiles.add(imageB);
imageFiles.add(imageC);
// Convert the three images into a PDF and save them.
PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
}
}
Bilder zu PDFs mit ITextPDF Java hinzufügen
Das vollständige Codebeispiel unten verwendet iText, um zwei Bilder im aktuellen Arbeitsverzeichnis in eine einzige PDF-Datei zu konvertieren.
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class InsertImagePDF {
public static void main(String[] args) throws IOException {
String currDir = System.getProperty("user.dir");
// Getting path of current working directory to create the pdf file in the same directory
String pdfPath = currDir + "/InsertImage.pdf";
// Creating PdfWriter object to write the PDF file to the path
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfDocument object
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating ImageData from images on disk (from given paths) using ImageDataFactory
ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Adding images to the document
doc.add(imgA);
doc.add(imgB);
// Close the document
doc.close();
System.out.println("Image added successfully and PDF file created!");
}
}
Lizenzierung
iTextSharp ist Open Source und wird unter der AGLP lizenziert.
Dies stellt sicher, dass jeder, der eine Anwendung nutzt, die iTextSharp integriert, Anspruch auf eine vollständige Kopie des Quellcodes der Anwendung hat, auch wenn sie dies über ein Firmennetzwerk oder das Internet tun.
Kontaktieren Sie iText direkt, um die Preise der Lizenz zu besprechen, falls Sie sie für Geschäftsanwendungen nutzen möchten.
IronPDF ist kostenlos für die Entwicklung und kann jederzeit für den kommerziellen Einsatz lizenziert werden. IronPDF-Lizenzdetails für die Verwendung in Einzelprojekten, für einzelne Entwickler, Agenturen und globale Konzerne sowie für SaaS- und OEM-Weiterverteilung. Alle Lizenzen umfassen eine 30-Tage-Geld-zurück-Garantie, ein Jahr Produktsupport und -aktualisierungen, Gültigkeit für Entwicklung, Test- und Produktionsumgebungen und auch eine Dauerlizenz (einmaliger Kauf).
Die Preise für das Lite Paket beginnen bei $999.
- Entwickler können die Bibliothek unbegrenzt für die Entwicklung nutzen. Hinsichtlich der allgemeinen Lizenzierung sind die Raten sehr kosteneffektiv.
- Kostenloser, einjähriger, unbegrenzter Support.
- Kostenlose Testversionen sind ebenfalls für Lizenzierungszwecke verfügbar.
- Alle Lizenzen beinhalten eine 30-tägige Geld-zurück-Garantie.
- Lizenzen sind in allen Umgebungen gültig (Entwicklung, Staging, Produktion usw.).
- Lizenzen beinhalten ein Jahr bedingungslosen Support.
- IronPDF-Lizenzen erfordern einen einmaligen Kauf.
IronPDF vs iText
Es gibt mehrere wesentliche Unterschiede zwischen iText und IronPDF.
Die API von iText ist strukturiert um ein programmatisches Modell. Die Manipulation von PDF-Eigenschaften und -Inhalten in diesem Modell ist eher auf niedriger Ebene und granular. Während dies dem Programmierer mehr Kontrolle und Flexibilität gibt, erfordert es auch das Schreiben von mehr Code, um Anwendungsfälle zu implementieren.
Die API von IronPDF ist strukturiert, um die Produktivität des Entwicklers zu optimieren. IronPDF vereinfacht die PDF-Bearbeitung, -Manipulation, -Erstellung und andere komplexe Aufgaben, indem es Entwicklern ermöglicht, sie mit nur wenigen Codezeilen abzuschließen.
Abschluss
Alle Kunden von Iron Software haben die Möglichkeit, das gesamte Paket mit nur zwei Klicks zu erwerben. Derzeit können Sie alle fünf Bibliotheken aus der Iron Software Suite zusammen mit fortlaufendem Support für jede erwerben, zum Preis von nur zwei Bibliotheken aus der Suite.
Häufig gestellte Fragen
Wie kann ich HTML mit einer Java-Bibliothek in PDF umwandeln?
Sie können die renderHtmlAsPdf Methode von IronPDF verwenden, um HTML-Strings in PDF-Dokumente zu konvertieren. Sie können auch HTML-Dateien mit der renderHtmlFileAsPdf Methode in PDFs umwandeln.
Was sind die Installationsschritte für die Java PDF Bibliothek?
Um IronPDF for Java zu installieren, müssen Sie es als Abhängigkeit in Ihrer pom.xml Datei deklarieren oder das .jar manuell aus dem IronPDF Maven Repository herunterladen und in den Klassenpfad Ihres Projekts einfügen.
Wie vergleicht sich IronPDF for Java mit iTextPDF?
IronPDF konzentriert sich darauf, Aufgaben mit weniger Codezeilen zu vereinfachen, indem eine Chrome-Engine für HTML-zu-PDF-Konvertierungen verwendet wird. iTextPDF bietet durch eine programmierbare API eine detailliertere Kontrolle, erfordert jedoch mehr Code für die Manipulation.
Kann ich mit einer Java PDF Bibliothek Bilder zu einem PDF hinzufügen?
Ja, mit IronPDF können Sie die PdfDocument.fromImage Methode verwenden, um Bilder durch Angabe einer Liste von Bilddateipfaden in eine einzelne PDF-Datei zu rendern.
Welche Lizenzoptionen bietet die Java PDF Bibliothek an?
IronPDF bietet flexible Lizenzierungsoptionen, einschließlich Einzelprojekt-, Entwickler-, Agentur- und Unternehmenslizenzen, zusammen mit Optionen für SaaS- und OEM-Weiterverteilung. Alle Lizenzen kommen mit einer 30-tägigen Geld-zurück-Garantie und einem Jahr Support.
Ist es möglich, PDFs mit IronPDF for Java zu bearbeiten?
Ja, IronPDF erlaubt es Ihnen, PDFs zu bearbeiten, zusammenzuführen und zu manipulieren. Es bietet Werkzeuge zum Hinzufügen von Kopf- und Fußzeilen und zur Bearbeitung mehrerer Webformate wie HTML, ASPX und MVC.
Gibt es kostenlose Optionen für Java PDF Bibliotheken?
iTextPDF ist Open Source unter der AGPL-Lizenz, die eine kostenlose Nutzung erlaubt, aber die Freigabe des Quellcodes der es verwendenden Anwendung erfordert. IronPDF ist kostenlos für die Entwicklung, erfordert jedoch eine Lizenz für die kommerzielle Bereitstellung.
Was ist der beste Weg, um HTML-Dateien in Java in PDF zu konvertieren?
Die renderHtmlFileAsPdf Methode von IronPDF ermöglicht es Ihnen, HTML-Dateien von einem lokalen oder Netzwerkte Dateipfad in PDF-Dokumente umzuwandeln und bietet Entwicklern einen optimierten Prozess.
Welche Funktionen bietet IronPDF für die PDF-Erstellung?
IronPDF unterstützt das Erstellen, Lesen und Bearbeiten von PDFs mit Funktionen wie HTML5, JavaScript, CSS und Bildkonvertierung zu PDF, dem Hinzufügen von Kopf-/Fußzeilen und mehr. Es konzentriert sich auf Entwicklerproduktivität und Benutzerfreundlichkeit.
Was ist erforderlich, um iTextPDF in ein Java-Projekt zu integrieren?
Um iTextPDF in Ihr Java-Projekt einzubeziehen, müssen Sie seine Maven-Repository-Details in Ihrer pom.xml Datei hinzufügen und die notwendigen .jar-Dateien für die Integration herunterladen.











