Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Dieser Artikel befasst sich mit den folgenden zwei der beliebtesten Bibliotheken, die in Java für die Arbeit mit PDF-Dateien verwendet werden:
IronPDF
Apache PDFBox
Welche Bibliothek sollten wir nun verwenden? In diesem Artikel werde ich die Kernfunktionen beider Bibliotheken vergleichen, damit Sie entscheiden können, welche für Ihre Produktionsumgebung am besten geeignet ist.
PDPageContentStream
mit dem Dokument und der Seite als EingabePDPageContentStream
instanz zum Konfigurieren und Hinzufügen von Inhaltenspeichern
methodeDie IronPDF bibliothek unterstützt HTML zu PDF konverter für Java 8+, Kotlin und Scala. Dieser Creator bietet plattformübergreifende Unterstützung, d. h. für Windows-, Linux- oder Cloud-Plattformen. Es wurde speziell für Java entwickelt und legt Wert auf Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit.
IronPDF wurde entwickelt, um Softwareentwickler bei der Entwicklung, Bearbeitung und Extraktion von Inhalten aus PDF-Dokumenten zu unterstützen. Es basiert auf dem Erfolg und der Beliebtheit von IronPDF for .NET.
IronPDF zeichnet sich durch folgende Merkmale aus:
Apache PDFBox ist eine Open-Source-Java-Bibliothek für die Arbeit mit PDF-Dateien. Es ermöglicht die Erstellung, Bearbeitung und Manipulation bestehender Dokumente. Es kann auch Inhalte aus Dateien extrahieren. Die Bibliothek bietet mehrere Dienstprogramme, mit denen verschiedene Operationen an Dokumenten durchgeführt werden können.
Hier sind die herausragenden Merkmale der Apache PDFBox.
Der Rest des Artikels lautet wie folgt:
IronPDF-Installation
Apache PDFBox-Installation
PDF-Dokument erstellen
Bilder zum Dokumentieren
Dokumente verschlüsseln
Lizenzvergabe
Schlussfolgerung
Jetzt werden wir die Bibliotheken herunterladen und installieren, um ihre leistungsstarken Funktionen zu vergleichen.
Die Installation von IronPDF for Java ist einfach. Es gibt verschiedene Wege, dies zu tun. In diesem Abschnitt werden zwei der gängigsten Methoden vorgestellt.
Um die IronPDF JAR-Datei herunterzuladen, besuchen Sie die Maven-Website und laden Sie die neueste Version von IronPDF herunter.
Klicken Sie auf die Option Downloads und laden Sie die JAR-Datei herunter.
Sobald die JAR-Datei heruntergeladen ist, ist es an der Zeit, die Bibliothek in unser Maven-Projekt zu installieren. Sie können jede IDE verwenden, aber wir werden Netbeans verwenden. Im Abschnitt Projekte:
Eine andere Möglichkeit, IronPDF herunterzuladen und zu installieren, ist die Verwendung von Maven. Sie können die Abhängigkeit einfach in die pom.xml einfügen oder das Dependency-Tool von Netbeans verwenden, um sie in Ihr Projekt aufzunehmen.
Kopieren Sie den folgenden Code und fügen Sie ihn in die pom.xml ein.
``xml-mvn-install-ao
#### Hinzufügen der Bibliothek mit Hilfe der Funktion Abhängigkeiten
- Rechts-Klick auf Abhängigkeiten
- Wählen Sie Abhängigkeit hinzufügen und geben Sie die folgenden Details mit der aktualisierten Version ein
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-4.webp" target="_blank"><img src="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-4.webp" alt="A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 4: IronPDF-Abhängigkeit hinzufügen" class="img-responsive add-shadow"></a>
<p class="content__image-caption">IronPDF-Abhängigkeit hinzufügen</p>
</div>
</div>
Installieren wir nun Apache PDFBox.
## 2. Apache PDFBox-Installation
Wir können PDFBox mit denselben Methoden wie IronPDF herunterladen und installieren.
### 2.1. JAR herunterladen und die Bibliothek manuell hinzufügen
Um PDFBox JAR zu installieren, besuchen Sie die offizielle Website und [herunterladen](https://pdfbox.apache.org/) die neueste Version.
Nachdem Sie ein Projekt erstellt haben, können Sie im Projektbereich
- Klicken Sie mit der rechten Maustaste auf den Ordner Libraries und wählen Sie die Option **JAR/Ordner hinzufügen**.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-5.webp" target="_blank"><img src="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-5.webp" alt="A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 5: Bibliothek hinzufügen" class="img-responsive add-shadow"></a>
<p class="content__image-caption">Bibliothek hinzufügen</p>
</div>
</div>
- Wechseln Sie in den Ordner, in den Sie die JAR-Datei heruntergeladen haben.
- Wählen Sie das PDFBox JAR und klicken Sie auf die Schaltfläche Öffnen.
<div class="content-img-align-center">
<div class="center-image-wrapper">
<a rel="nofollow" href="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-6.webp" target="_blank"><img src="/static-assets/ironpdf-java/blog/apache-pdfbox-html-to-pdf-java/apache-pdfbox-html-to-pdf-java-6.webp" alt="A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 6: PDFBox JAR öffnen" class="img-responsive add-shadow"></a>
<p class="content__image-caption">PDFBox JAR öffnen</p>
</div>
</div>
### 2.2. Installation über Maven als Abhängigkeit
#### Hinzufügen von Abhängigkeiten in der pom.xml
Kopieren Sie den folgenden Code und fügen Sie ihn in die pom.xml ein.
```xml
<dependencies>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-app</artifactId>
<version>3.0.0-alpha3</version>
</dependency>
</dependencies>
Dadurch wird die PDFBox-Abhängigkeit automatisch heruntergeladen und im Repository-Ordner installiert. Sie ist nun einsatzbereit.
IronPDF bietet verschiedene Methoden zur Erstellung von Dateien. Schauen wir uns die zwei wichtigsten Methoden an.
IronPDF macht es sehr einfach, die dokumente aus HTML generieren. Das folgende Codebeispiel konvertiert die URL einer Webseite in eine PDF-Datei.
License.setLicenseKey("YOUR-LICENSE-KEY");
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
myPdf.saveAs(Paths.get("url.pdf"));
Die Ausgabe ist die unten stehende URL, die gut formatiert und wie folgt gespeichert ist:
Das folgende Codebeispiel zeigt, wie ein HTML-String zum Rendern einer PDF-Datei in Java verwendet werden kann. Sie verwenden einfach eine HTML-Zeichenkette oder ein Dokument, um es zu konvertieren und neue Dokumente zu erstellen.
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 Ausgabe lautet wie folgt:
PDFBox kann auch neue PDF-Dokumente aus verschiedenen Formaten erzeugen, aber es kann nicht direkt aus einer URL oder einem HTML-String konvertieren.
Das folgende Codebeispiel erstellt ein Dokument mit Text:
//Create document object
PDDocument document = new PDDocument();
PDPage blankPage = new PDPage();
document.addPage(blankPage);
//Retrieving the pages of the document
PDPage paper = document.getPage(0);
PDPageContentStream contentStream = new PDPageContentStream(document, paper);
//Begin the Content stream
contentStream.beginText();
//Setting the font to the Content stream
contentStream.setFont(PDType1Font.TIMES_ROMAN, 12);
//Setting the position for the line
contentStream.newLineAtOffset(25, 700);
String text = "This is the sample document and we are adding content to it.";
//Adding text in the form of string
contentStream.showText(text);
//Ending the content stream
contentStream.endText();
System.out.println("Content added");
//Closing the content stream
contentStream.close();
//Saving the document
document.save("C:/PdfBox_Examples/my_doc.pdf");
System.out.println("PDF created");
//Closing the document
document.close();
Wenn wir jedoch contentStream.newLineAtOffset' entfernen(25, 700);
aus dem obigen Code-Beispiel und führen Sie dann das Projekt, es erzeugt ein PDF mit der Ausgabe am unteren Rand des Pape. Dies kann für einige Entwickler ziemlich lästig sein, da sie den Text mit (x,y) koordinaten. y = 0" bedeutet, dass der Text am unteren Rand erscheint.
IronPDF kann problemlos mehrere Bilder in eine einzige PDF-Datei konvertieren. Der Code zum Hinzufügen mehrerer Bilder zu einem einzigen Dokument lautet wie folgt:
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
// Reference to the directory containing the images that we desire to convert
List<Path> images = new ArrayList<>();
images.add(Paths.get("imageA.png"));
images.add(Paths.get("imageB.png"));
images.add(Paths.get("imageC.png"));
images.add(Paths.get("imageD.png"));
images.add(Paths.get("imageE.png"));
// Render all targeted images as PDF content and save them together in one document.
PdfDocument merged = PdfDocument.fromImage(images);
merged.saveAs("output.pdf");
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
// Reference to the directory containing the images that we desire to convert
Path imageDirectory = Paths.get("assets/images");
// Create an empty list to contain Paths to images from the directory.
List<Path> imageFiles = new ArrayList<>();
PDDocument doc = new PDDocument();
// Use a DirectoryStream to populate the list with paths for each image in the directory that we want to convert
try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
for (Path entry : stream) {
imageFiles.add(entry);
}
for (int i = 0; i < imageFiles.size(); i++){
//Add a Page
PDPage blankPage = new PDPage();
doc.addPage(blankPage);
PDPage page = doc.getPage(i);
//Creating PDImageXObject object
PDImageXObject pdImage = PDImageXObject.createFromFile(imageFiles.get(i).toString(),doc);
//creating the PDPageContentStream object
PDPageContentStream contents = new PDPageContentStream(doc, page);
//Drawing the image in the document
contents.drawImage(pdImage, 0, 0);
System.out.println("Image inserted");
//Closing the PDPageContentStream object
contents.close();
}
//Saving the document
doc.save("C:/PdfBox_Examples/sample.pdf");
//Closing the document
doc.close();
} catch (IOException exception) {
throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
imageDirectory,
exception.getMessage()),
exception);
}
Der Code zum Verschlüsseln von PDFs mit einem Passwort in IronPDF ist unten angegeben:
// Open a document(or create a new one from HTML)
PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/composite.pdf"));
// Edit security settings
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setOwnerPassword("top-secret");
securityOptions.setUserPassword("sharable");
// Change or set the document encryption password
SecurityManager securityManager = pdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
pdf.saveAs(Paths.get("assets/secured.pdf"));
Apache PDFBox bietet auch die Möglichkeit der Dokumentenverschlüsselung, um die Sicherheit der Dateien zu erhöhen. Sie können auch zusätzliche Informationen wie Metadaten hinzufügen. Der Code lautet wie folgt:
//Loading an existing document
File file = new File("C:/PdfBox_Examples/sample.pdf");
PDDocument document = PDDocument.load(file);
//Creating access permission object
AccessPermission ap = new AccessPermission();
//Creating StandardProtectionPolicy object
StandardProtectionPolicy spp = new StandardProtectionPolicy("1234", "1234", ap);
//Setting the length of the encryption key
spp.setEncryptionKeyLength(128);
//Setting the access permissions
spp.setPermissions(ap);
//Protecting the document
document.protect(spp);
System.out.println("Document encrypted");
//Saving the document
document.save("C:/PdfBox_Examples/encrypted.pdf");
//Closing the document
document.close();
IronPDF ist kostenlos für die Entwicklung einfacher PDF-Anwendungen und kann jederzeit für die kommerzielle Nutzung lizenziert werden. IronPDF bietet Einzelprojektlizenzen, Einzelentwicklerlizenzen, Lizenzen für Agenturen und multinationale Organisationen sowie SaaS- und OEM-Weiterverteilungslizenzen und Support. Alle Lizenzen sind erhältlich mit einen kostenlosen Testeine 30-Tage-Geld-zurück-Garantie und ein Jahr Software-Support und Upgrades.
Das Lite-Paket ist für $749 erhältlich. Bei IronPDF-Produkten fallen keinerlei wiederkehrende Gebühren an. Ausführlichere Informationen zur Softwarelizenzierung finden Sie auf der Produktseite lizenzierung seite.
Apache PDFBox ist frei und kostenlos erhältlich. Sie ist kostenlos, unabhängig davon, wie sie genutzt wird, ob für persönliche, interne oder kommerzielle Zwecke.
Sie können die Apache License 2.0 (aktuelle Version) von hier. Um die Kopie der Lizenz einzubinden, fügen Sie sie einfach in Ihre Arbeit ein, und Sie können auch den folgenden Hinweis als Kommentar am Anfang Ihres Quellcodes anbringen.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Im Vergleich dazu hat IronPDF gegenüber Apache PDFBox die Nase vorn, sowohl was die Funktionalität als auch die Produktunterstützung betrifft. Es bietet auch SaaS- und OEM-Support, was in der modernen Softwareentwicklung eine Voraussetzung ist. Die Bibliothek ist jedoch nicht wie Apache PDFBox für die kommerzielle Nutzung frei.
Unternehmen mit umfangreichen Softwareanwendungen benötigen oft kontinuierliche Fehlerkorrekturen und Unterstützung von Drittanbietern, um Probleme, die während der Softwareentwicklung auftreten, zu lösen. Dies ist etwas, das vielen Open-Source-Lösungen wie Apache PDFBox fehlt, die auf die freiwillige Unterstützung ihrer Entwicklergemeinschaft angewiesen ist, um gepflegt zu werden. Kurz gesagt, IronPDF eignet sich am besten für den Einsatz in Unternehmen und auf dem Markt, während Apache PDFBox besser für persönliche und nicht-kommerzielle Anwendungen geeignet ist.
Es gibt auch eine kostenlose Testversion, um die Funktionalität von IronPDF zu testen. Probieren Sie es aus oder jetzt kaufen.
Sie können jetzt alle Iron Software Produkte in Iron Suite zu einem stark reduzierten Preis erhalten. Besuchen Sie diese web-Seite für weitere Informationen über dieses tolle Angebot.
9 .NET API-Produkte für Ihre Bürodokumente