import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Render the HTML as a PDF. Stored in myPdf as type PdfDocument;
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
Ein Vergleich zwischen IronPDF for Java und iTextPDF itext7 for Java
Kannapat Udonpant
15. Januar 2023
Teilen Sie:
Dank der sich ständig verbessernden Technologie können Entwickler heute von besseren Lösungen profitieren.
Die Zukunft der Softwareentwicklungsprozesse liegt in der Automatisierung. Lange Zeit haben PDF-Dateien den Entwicklern Schwierigkeiten bereitet. Beim Arbeiten mit PDFs (d. h. beim 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 Konvertieren von PDFs aus vielen Formaten helfen sollen, werden diese Bedürfnisse nun erfüllt.
In diesem Artikel werden zwei der bekanntesten PDF-Bibliotheken für Java-Entwickler zum Bearbeiten, Drucken und Erstellen von PDF-Dateien verglichen:
IronPDF Java Library: Eine Java-PDF-Bibliothek, die sich auf die Erzeugung von PDFs aus HTML konzentriert.
ITextPDF-Bibliothek: Eine auf Java basierende Open-Source-Bibliothek, die sich auf die Erzeugung von PDFs mithilfe einer programmierbaren API konzentriert.
Wir werden die Funktionen der beiden Bibliotheken untersuchen, bevor wir uns mit den Leistungskosten für die Konvertierung und Handhabung der PDFs befassen, um zu ermitteln, welche Bibliothek für Ihre Anwendung am besten geeignet ist. Außerdem wird die Dauer der einzelnen Bibliotheken für spätere Recherchen aufgezeichnet.
Installation von IronPDF for Java
Um IronPDF for Java zu installieren, deklarieren Sie es einfach als Abhängigkeit. Um IronPDF als Abhängigkeit zu definieren, fügen Sie bitte Folgendes zu Ihrer pom.xml hinzu:
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.
Beenden Sie den Assistenten zur Projekterstellung. Das war's!
IronPDF-Funktionen
Entwickler können mit Hilfe der robusten IronPDF PDF-Bibliothek schnell PDFs erstellen, lesen und bearbeiten. IronPDF nutzt die Chrome-Engine als Kernstück und bietet eine Fülle praktischer und leistungsstarker Funktionen, darunter die Möglichkeit, 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 angezeigt werden. IronPDF unterstützt verschiedene Webformate, darunter HTML, ASPX, Razor View und MVC. Die wichtigsten Eigenschaften von IronPDF sind folgende:
Einfaches Erstellen, Lesen und Bearbeiten von PDFs mit Java-Programmen,
Erstellen Sie PDFs von jeder Website-URL, die Einstellungen für Benutzer-Agenten, Proxies, Cookies, HTTP-Header und Formularvariablen enthält, um die Anmeldung mit HTML-Anmeldeformularen zu unterstützen,
Entfernen Sie Fotos aus bereits vorhandenen PDF-Publikationen,
Fügen Sie Text, Fotos, Lesezeichen, Wasserzeichen und andere Elemente zu PDFs hinzu,
Zusammenführen und Aufteilen der Seiten mehrerer PDF-Dokumente,
Konvertieren Sie medienähnliche Dateien, einschließlich CSS-Dateien, in Dokumente.
Installation von ITextPDF Java
ITextPDF ist kostenlos verfügbar 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.
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.
Eigenschaften der IText-Bibliothek
Erstellen Sie PDFs aus HTML, XML und Bildern (png, jpg usw.)
Hinzufügen von Lesezeichen, Seitenzahlen und Markierungen zu PDF-Dokumenten
Teilen Sie eine PDF-Datei in mehrere PDFs auf oder kombinieren Sie mehrere PDFs zu einer einzigen PDF-Datei
PDF-Formulare programmatisch bearbeiten
Hinzufügen von Text, Bildern und geometrischen Figuren zu PDFs
Konvertierung von HTML-Strings in PDFs mit iTextPDF Java
In iText for Java ist die Klasse HTMLConverter die Hauptklasse, die verwendet wird, um HTML in PDF zu konvertieren.
Es gibt drei Hauptmethoden in HTMLConverter:
convertToDocument, das ein Document-Objekt zurückgibt
convertToElements, welches eine Liste von IElement-Objekten zurückgibt
convertToPdf übernimmt die Umwandlung von HTML-Inhalten in PDF. Diese Methode akzeptiert HTML-Eingaben als String, Datei oder InputStream und gibt ein Datei-, OutputStream- oder Dokument-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
{
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href="hmkcode.com">hmkcode.com</a>";
public static void main( String [] args ) throws FileNotFoundException, IOException
{
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
{
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href="hmkcode.com">hmkcode.com</a>";
public static void main( String [] args ) throws FileNotFoundException, IOException
{
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println( "PDF Created!" );
}
}
JAVA
HTML-Strings in PDFs umwandeln mit IronPDF for Java
Die PdfDocument-Klasse von IronPDF bietet mehrere statische Methoden, die es Java-Entwicklern ermöglichen, HTML-Text aus verschiedenen Quellen zu erzeugen. Eine solche Methode ist die PdfDocument.renderHtmlAsPdf-Methode, die einen String von HTML-Markup in ein PDF-Dokument konvertiert.
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
myPdf.saveAs(Paths.get("html_saved.pdf"));
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
myPdf.saveAs(Paths.get("html_saved.pdf"));
JAVA
Konvertierung von HTML-Dateien in PDF mit ITextPDF Java
Die convertToPdf-Methode kann verwendet werden, um eine beliebige HTML-Datei in ein PDF umzuwandeln.
Bilder und CSS-Dateien können in die HTML-Datei eingebunden werden. Sie müssen jedoch an derselben Stelle in der HTML-Datei sein. Wir können die Klasse ConverterProperties verwenden, um den Basispfad für referenzierte CSS und Bilder festzulegen. Dies ist nützlich, wenn sich die HTML-Dateien in verschiedenen Verzeichnissen befinden.
Nehmen wir eine index.html mit folgendem Markup.
<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>
HTML
Der nachstehende Quellcode wandelt die Datei index.html in eine PDF-Datei um:
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
{
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
{
HtmlConverter.convertToPdf(new FileInputStream("index.html"),
new FileOutputStream("index-to-pdf.pdf"));
System.out.println( "PDF Created!" );
}
}
JAVA
HTML-Dateien mit IronPDF for Java in PDF konvertieren
Die Methode PdfDocument.renderHtmlFileAsPdf von IronPDF konvertiert HTML-Dateien, die sich auf einem Computer oder auf einem Netzwerkpfad befinden.
Bilder zu PDF-Dateien hinzufügen mit IronPDF for Java
Sie können die Methode PdfDocument.fromImage von IronPDF verwenden, um eine Gruppe von Bildern in eine einzelne PDF-Datei zu rendern. Das nächste Beispiel verwendet diese Methode auf einer kurzen Liste von Bildern, die sich in verschiedenen Dateisystempfaden befinden.
// 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"));
// 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"));
JAVA
Bilder zu PDFs hinzufügen mit ITextPDF Java
Das folgende vollständige Code-Beispiel verwendet iText, um zwei Bilder aus dem aktuellen Arbeitsverzeichnis in eine PDF-Datei zu konvertieren.
import java.io.*;
// Importing iText library packages
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 of
// the running java program
String pdfPath = currDir + "/InsertImage.pdf";
// Creating path for the new pdf file
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfWriter object to write the PDF file to
// the path
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating imagedata from image on disk(from given
// path) using ImageData object
ImageData imageDataA = ImageDataFactory.create(
currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(
currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Creating Image object from the imagedata
doc.add(imgA);
doc.add(imgB);
// Adding Image to the empty document
doc.close();
// Close the document
System.out.println("Image added successfully and PDF file created!");
}
}
import java.io.*;
// Importing iText library packages
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 of
// the running java program
String pdfPath = currDir + "/InsertImage.pdf";
// Creating path for the new pdf file
PdfWriter writer = new PdfWriter(pdfPath);
// Creating PdfWriter object to write the PDF file to
// the path
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating imagedata from image on disk(from given
// path) using ImageData object
ImageData imageDataA = ImageDataFactory.create(
currDir + "/imageA.jpg");
Image imgA = new Image(imageDataA);
ImageData imageDataB = ImageDataFactory.create(
currDir + "/imageB.jpg");
Image imgB = new Image(imageDataB);
// Creating Image object from the imagedata
doc.add(imgA);
doc.add(imgB);
// Adding Image to the empty document
doc.close();
// Close the document
System.out.println("Image added successfully and PDF file created!");
}
}
JAVA
Lizenzvergabe
iTextSharp ist Open Source und steht unter der AGLP-Lizenz.
Damit wird sichergestellt, dass jeder, der eine Anwendung nutzt, die iTextSharp enthält, Anspruch auf eine vollständige Kopie des Quellcodes der Anwendung hat, auch wenn er dies über ein Firmennetzwerk oder das Internet tut.
Wenden Sie sich direkt an iText, um die Preise für die Lizenz zu besprechen, wenn Sie die Software für geschäftliche Anwendungen nutzen möchten.
IronPDF ist für die Entwicklung kostenlos und kann jederzeit für den kommerziellen Einsatz lizenziert werden. IronPDF-Lizenzdetails für die Nutzung in Einzelprojekten, individuelle Entwickler, Agenturen und globale Unternehmen sowie für SaaS- und OEM-Weiterverteilung. Alle Lizenzen umfassen eine 30-tägige Geld-zurück-Garantie, ein Jahr Produktsupport und Updates, Gültigkeit für Entwicklung/Staging/Produktion und auch eine permanente Lizenz (Einmalkauf).
Die Preise für das Lite-Paket beginnen bei $749.
Entwickler können die Bibliothek unbegrenzt für die Entwicklung nutzen. In Bezug auf die allgemeine Lizenzierung sind die Preise sehr kosteneffizient.
Ein Jahr lang kostenloser, unbegrenzter Support.
Für Lizenzierungszwecke sind auch kostenlose Testversionen verfügbar.
Alle Lizenzen beinhalten eine 30-tägige Geld-zurück-Garantie.
Lizenzen sind für alle Umgebungen gültig (Entwicklung, Staging, Produktion usw.).
Die Lizenzen beinhalten ein Jahr bedingungslosen Support.
IronPDF-Lizenzen müssen nur einmalig erworben werden.
IronPDF gegenüber iText
Es gibt mehrere wesentliche Unterschiede zwischen iText und IronPDF.
die API von iText ist nach einem programmatischen Modell aufgebaut. Die Manipulation von PDF-Eigenschaften und -Inhalten ist bei diesem Modell eher niedrigschwellig und granular. Dies gibt dem Programmierer zwar mehr Kontrolle und Flexibilität, erfordert aber auch das Schreiben von mehr Code zur Implementierung von Anwendungsfällen.
Die API von IronPDF ist so aufgebaut, dass die Produktivität der Entwickler optimiert wird. IronPDF vereinfacht die PDF-Bearbeitung, -Manipulation, -Erstellung und andere komplexe Aufgaben, indem es Entwicklern ermöglicht, diese mit nur wenigen Codezeilen zu erledigen.
Schlussfolgerung
Alle Kunden von Iron Software haben die Möglichkeit, mit nur zwei Klicks die gesamte Suite von Paketen zu erwerben. Derzeit können Sie alle fünf Bibliotheken aus der Iron Software Suite, zusammen mit fortlaufendem Support für jede, zum Preis von nur zwei Bibliotheken aus der Suite erwerben.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS Ein Vergleich zwischen IronPDF for Java und Apache PDFBox
NÄCHSTES > Ein Vergleich zwischen IronPDF for Java und Aspose.PDF for Java