PRODUKT-VERGLEICHE

Ein Vergleich zwischen IronPDF for Java und Apache PDFBox

Veröffentlicht 14. Januar 2023
Teilen Sie:

Dieser Artikel befasst sich mit den folgenden zwei der beliebtesten Bibliotheken, die in Java für die Arbeit mit PDF-Dateien verwendet werden:

  1. IronPDF

  2. 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.

IronPDF

Die 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:

HTML-Assets verwenden

  • HTML (5 und darunter), CSS (Bildschirm & Druck), Bilder (JPG, PNG, GIF, tiff, svg, bmp), JavaScript (+ Render-Verzögerungen)
  • Schriftarten (Web & Icon)

HTML zu PDF

  • Erstellung und Bearbeitung von HTML-Dateien/Zeichenfolgen in PDF-Dokumenten
  • URL zu PDF

Bilder konvertieren

  • Bild in neue PDF-Dokumente
  • PDF zu Bild

Benutzerdefinierte Papiereinstellungen

  • Benutzerdefiniertes Papierformat, Ausrichtung und Drehung
  • Margen (mm, Zoll, & Null)
  • Farbe & Graustufen, Auflösung & JPEG-Qualität

Zusätzliche Merkmale

  • Website & Systemanmeldungen
  • Benutzerdefinierte Agenten und Proxys
  • HTTP-Kopfzeilen

Apache PDFBox-Bibliothek

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.

Text extrahieren

  • Extrahieren von Unicode-Text aus Dateien.

Teilen & Zusammenführen

  • Eine einzelne PDF-Datei in mehrere Dateien aufteilen
  • Mehrere Dokumente zusammenführen.

Formulare ausfüllen

  • Daten aus Formularen extrahieren
  • Füllen Sie ein PDF-Formular aus.

Preflight

  • Validierung von Dateien anhand des PDF/A-1b-Standards.

Drucken

  • Drucken Sie eine PDF-Datei über die Standard-Druck-API.

Als Bild speichern

  • Speichern Sie PDFs als PNG, JPEG oder andere Bildtypen.

PDFs erstellen

  • Entwickeln Sie eine PDF-Datei von Grund auf mit eingebetteten Schriftarten und Bildern.

Unterzeichnung

  • Digitales Signieren von Dateien.

Übersicht

Der Rest des Artikels lautet wie folgt:

  1. IronPDF-Installation

  2. Apache PDFBox-Installation

  3. PDF-Dokument erstellen

  4. Bilder zum Dokumentieren

  5. Dokumente verschlüsseln

  6. Lizenzvergabe

  7. Schlussfolgerung

    Jetzt werden wir die Bibliotheken herunterladen und installieren, um ihre leistungsstarken Funktionen zu vergleichen.

1. IronPDF-Installation

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.

1.1. JAR herunterladen und die Bibliothek hinzufügen

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.

    Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 1: IronPDF JAR herunterladen

    IronPDF JAR herunterladen

    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:

  • Klicken Sie mit der rechten Maustaste auf den Ordner Libraries und wählen Sie die Option JAR/Ordner hinzufügen.
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 2: IronPDF-Bibliothek in Netbeans hinzufügen

    IronPDF-Bibliothek in Netbeans hinzufügen

  • Wechseln Sie in den Ordner, in den Sie die JAR-Datei heruntergeladen haben.
  • Wählen Sie das IronPDF JAR und klicken Sie auf die Schaltfläche Öffnen.
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 3: IronPDF JAR öffnenIronPDF JAR öffnen

    IronPDF JAR öffnen

1.2. Installation über Maven als Abhängigkeit

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.

Hinzufügen der Bibliotheksabhängigkeit in pom.xml

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.

Hinzufügen von Abhängigkeiten mit der Funktion Abhängigkeiten

  • Rechts-Klick auf Abhängigkeiten im Projektbereich
  • Wählen Sie Abhängigkeit hinzufügen und geben Sie die folgenden Details mit der aktualisierten Version ein
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 7: PDFBox-Abhängigkeit hinzufügen

    PDFBox-Abhängigkeit hinzufügen

3. PDF-Dokument erstellen

3.1. Verwendung von IronPDF

IronPDF bietet verschiedene Methoden zur Erstellung von Dateien. Schauen wir uns die zwei wichtigsten Methoden an.

Vorhandene URL in PDF umwandeln

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"));
JAVA

Die Ausgabe ist die unten stehende URL, die gut formatiert und wie folgt gespeichert ist:

Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 8: Hinzufügen der PDFBox-Abhängigkeit

IronPDF URL-Ausgabe

HTML-Eingabezeichenfolge in PDF

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"));
JAVA

Die Ausgabe lautet wie folgt:

Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 9: IronPDF HTML-Ausgabe

IronPDF HTML-Ausgabe

3.2. Apache PDFBox verwenden

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();
JAVA
Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 10: PDFBox Positionierte Ausgabe

PDFBox Positionierte Ausgabe

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.

Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 11: Positionierte PDFBox-Ausgabe

PDFBox ohne Positionierungsausgabe

4. Bilder zum Dokumentieren

4.1. Verwendung von IronPDF

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");
JAVA
Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 12: Positionierte PDFBox-Ausgabe

IronPDF Bilder zur Ausgabe

4.2. Apache PDFBox verwenden

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);
}
JAVA
Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 13: PDFBox Images to Output

IronPDF Bilder zur Ausgabe

5. Dokumente verschlüsseln

5.1. Verwendung von IronPDF

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"));
JAVA

5.2. Apache PDFBox verwenden

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();
JAVA

6. Preisgestaltung und Lizenzierung

IronPDF Preisgestaltung und Lizenzierung

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.

Ein Vergleich zwischen IronPDF for Java und Apache PDF Box for Java - Abbildung 14: IronPDF-Lizenzierung

IronPDF-Lizenzierung

Preise und Lizenzierung von Apache PDFBox

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.

Schlussfolgerung

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.

< PREVIOUS
Ein Vergleich zwischen IronPDF for Java und Spire.PDF Java
NÄCHSTES >
Ein Vergleich zwischen IronPDF for Java und iTextPDF itext7 for Java

Sind Sie bereit, loszulegen? Version: 2024.9 gerade veröffentlicht

Gratis Maven Download Lizenzen anzeigen >