Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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. Bei der Arbeit mit PDFs (d.h. Erstellung von Inhalten und Konvertierung von Inhalten aus anderen Formaten in PDF)gibt es zahlreiche Überlegungen zu treffen. 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.
Dieser Artikel vergleicht zwei der beliebtesten PDF-Bibliotheken für Java-Entwickler zum Bearbeiten, Drucken und Erstellen von PDF-Dateien:
ITextPDF-Bibliothek: Eine auf Java basierende Open-Source-Bibliothek, die sich auf die Erzeugung von PDFs mit Hilfe 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.
Zum Installieren IronPDF for Javadeklarieren Sie es einfach als Abhängigkeit. Um IronPDF als Abhängigkeit zu definieren, fügen Sie bitte Folgendes zu Ihrer pom.xml hinzu
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.9.1</version>
</dependency>
Hinweis: Sie können die .jar-Datei auch manuell herunterladen:
Gehe zu das Maven Repo.
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.
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:
ITextPDF ist kostenlos erhältlich unter https://itextpdf.com/. 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 unsere pom.xml
-Datei ein.
<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.
In iText for Java ist HTMLConverter
die primäre Klasse, die zur Konvertierung von HTML in PDF verwendet wird.
Es gibt drei Hauptmethoden in HTMLConverter
:
convertToDocument
, das ein Document
-Objekt zurückgibtconvertToElements
, die eine Liste von IElement
-Objekten zurückgebenconvertToPdf
dient der Umwandlung von HTML-Inhalten in PDF. Diese Methode akzeptiert HTML-Eingaben als String
, File
oder InputStream
und gibt eine File
, einen OutputStream
oder ein Document
-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!" );
}
}
Die Klasse PdfDocument
von IronPDF bietet mehrere statische Methoden, mit denen Java-Entwickler HTML-Text aus verschiedenen Quellen erzeugen können. Eine dieser Methoden ist die Methode "PdfDocument.renderHtmlAsPdf", die eine Zeichenkette mit HTML-Markup in ein PDF-Dokument umwandelt.
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"));
Die Methode convertToPdf
kann verwendet werden, um eine beliebige HTML-Datei in eine PDF-Datei umzuwandeln.
Bilder und CSS-Dateien können in die HTML-Datei aufgenommen werden. Sie müssen sich jedoch an der gleichen Stelle in der HTML-Datei befinden. Mit der Klasse ConverterProperties
kann der Basispfad für referenzierte CSS und Bilder festgelegt werden. 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>
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!" );
}
}
IronPDF's Methode PdfDocument.renderHtmlFileAsPdf
konvertiert HTML-Dateien, die sich auf einem Computer oder in einem Netzwerk-Dateipfad befinden.
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
Sie können die IronPDF-Methode PdfDocument.fromImage
verwenden, um eine Gruppe von Bildern in eine einzige PDF-Datei zu verwandeln. Im folgenden Beispiel wird diese Methode auf eine kurze Liste von Bildern angewendet, die sich auf 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"));
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!");
}
}
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. Lizenzen sind verfügbar für Einzelprojekte, einzelne Entwickler, Agenturen und globale Unternehmen sowie für SaaS- und OEM-Vertrieb. Alle Lizenzen beinhalten eine 30-tägige Geld-zurück-Garantie, ein Jahr Produktsupport und Updates, Gültigkeit für Entwicklung/Taging/Produktion sowie eine permanente Lizenz (einmaliger Kauf).
Die Preise für das Lite-Paket beginnen bei $749.
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.
Alle Kunden von Iron Software haben die Möglichkeit, mit nur zwei Klicks die gesamte Suite von Paketen zu erwerben. Sie können derzeit alle fünf Bibliotheken über die Iron Software Suitezusammen mit dem laufenden Support für jede Bibliothek zum Preis von nur zwei Bibliotheken aus der Suite.
9 .NET API-Produkte für Ihre Bürodokumente