COMPARAISON DES PRODUITS

Comparaison entre IronPDF for Java et Apache PDFBox

Publié janvier 14, 2023
Partager:

Cet article traite des deux bibliothèques les plus populaires utilisées en Java pour travailler avec des fichiers PDF :

  1. IronPDF
  2. Apache PDFBox

    Quelle bibliothèque devrions-nous utiliser ? Dans cet article, je vais comparer les fonctionnalités de base de ces deux bibliothèques afin de vous permettre de décider laquelle est la plus adaptée à votre environnement de production.

IronPDF

Les IronPDF supports de bibliothèque HTML vers PDF pour Java 8+, Kotlin et Scala. Ce créateur offre une prise en charge multiplateforme, c'est-à-dire Windows, Linux ou les plateformes Cloud. Il est spécialement conçu pour Java qui privilégie la précision, la facilité d'utilisation et la rapidité.

IronPDF est conçu pour aider les développeurs de logiciels à développer, éditer et extraire le contenu des documents PDF. Il s'appuie sur le succès et la popularité d'IronPDF for .NET.

Les principales caractéristiques d'IronPDF sont les suivantes :

Utiliser les ressources HTML

  • HTML (5 et moins), CSS (Sérigraphie et impression), images (JPG, PNG, GIF, tiff, svg, bmp), JavaScript (+ Délais de rendu)
  • Polices de caractères (Web & Icône)

HTML vers PDF

  • Création et manipulation de fichiers HTML/chaînes de caractères vers des documents PDF
  • URL vers PDF

Convertir des images

  • Image vers de nouveaux documents PDF
  • PDF à l'image

Paramètres de papier personnalisés

  • Format, orientation et rotation du papier personnalisés
  • Marges (mm, pouce et zéro)
  • Couleur et niveaux de gris, résolution et qualité JPEG

Caractéristiques supplémentaires

  • Connexion au site web et au système
  • Agents utilisateurs et mandataires personnalisés
  • En-têtes HTTP

Bibliothèque Apache PDFBox

Apache PDFBox est une bibliothèque Java open source permettant de travailler avec des fichiers PDF. Il permet de générer, d'éditer et de manipuler des documents existants. Il peut également extraire le contenu des fichiers. La bibliothèque propose plusieurs utilitaires permettant d'effectuer diverses opérations sur les documents.

Voici les principales caractéristiques d'Apache PDFBox.

Extraire le texte

  • Extraction de texte Unicode à partir de fichiers.

Séparer et fusionner

  • Diviser un seul PDF en plusieurs fichiers
  • Fusionner plusieurs documents.

Remplir les formulaires

  • Extraire des données de formulaires
  • Remplir un formulaire PDF.

Pré-vol

  • Valider les fichiers par rapport à la norme PDF/A-1b.

Imprimer

  • Imprimer un PDF à l'aide de l'API d'impression standard.

Enregistrer en tant qu'image

  • Enregistrez les PDF au format PNG, JPEG ou d'autres types d'images.

Créer des PDF

  • Développez un PDF à partir de zéro avec des polices et des images intégrées.

Signature

  • Signer numériquement les fichiers.

Vue d'ensemble

Le reste de l'article se lit comme suit :

  1. Installation d'IronPDF
  2. Installation d'Apache PDFBox
  3. Créer un document PDF
  4. Images à documenter
  5. Cryptage des documents
  6. Licences
  7. Conclusion

    Nous allons maintenant télécharger et installer les bibliothèques afin de comparer leurs puissantes fonctionnalités.

1. Installation d'IronPDF

L'installation d'IronPDF for Java est simple. Il existe différentes manières de procéder. Cette section présente deux des méthodes les plus courantes.

1.1. Télécharger le JAR et ajouter la bibliothèque

Pour télécharger le fichier JAR d'IronPDF, visitez la page Site web de Maven et téléchargez la dernière version d'IronPDF.

  • Cliquez sur l'option Downloads et téléchargez le JAR.

    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 1: Télécharger le JAR IronPDF

    Télécharger le JAR IronPDF

    Une fois le JAR téléchargé, il est temps d'installer la bibliothèque dans notre projet Maven. Vous pouvez utiliser n'importe quel IDE, mais nous utiliserons Netbeans. Dans la section Projets :

  • Faites un clic droit sur le dossier Libraries et sélectionnez l'option Add JAR/Folder.

    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 2: Ajouter la bibliothèque IronPDF dans Netbeans

    Ajouter la bibliothèque IronPDF dans Netbeans

  • Déplacez-vous dans le dossier où vous avez téléchargé le JAR.
  • Sélectionnez le JAR IronPDF et cliquez sur le bouton Ouvrir.
    Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 3 : Ouvrir le JAR IronPDFOuvrir le JAR IronPDF

    Ouvrir le JAR IronPDF

1.2. Installation via Maven en tant que dépendance

Une autre façon de télécharger et d'installer IronPDF est d'utiliser Maven. Vous pouvez simplement ajouter la dépendance dans le pom.xml ou utiliser l'outil Dependency de Netbeans pour l'inclure dans votre projet.

Ajouter la dépendance de la bibliothèque dans pom.xml

Copiez le code suivant et collez-le dans le pom.xml.

``xml-mvn-install-ao


#### Ajouter la bibliothèque à l'aide de la fonctionnalité Dépendances

- Clic droit sur les dépendances
- Sélectionnez Add Dependency et remplissez les détails suivants avec la version mise à jour
<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: Ajouter la dépendance IronPDF" class="img-responsive add-shadow"></a>        <p class="content__image-caption">Ajouter la dépendance IronPDF</p>    </div></div>
Installons maintenant Apache PDFBox.

## 2. Installation d'Apache PDFBox

Nous pouvons télécharger et installer PDFBox en utilisant les mêmes méthodes qu'IronPDF.

### 2.1. Télécharger le JAR et ajouter la bibliothèque manuellement

Pour installer PDFBox JAR, visitez le site officiel et [télécharger](https://pdfbox.apache.org/)  la dernière version.

Après avoir créé un projet, dans la section projet :

- Cliquez avec le bouton droit de la souris sur le dossier Libraries et sélectionnez l'option **Add JAR/Folder**.
<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: Ajouter une bibliothèque" class="img-responsive add-shadow"></a>        <p class="content__image-caption">Ajouter une bibliothèque</p>    </div></div>

- Déplacez-vous dans le dossier où vous avez téléchargé le JAR.
- Sélectionnez le JAR PDFBox et cliquez sur le bouton Ouvrir.
<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="Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 6 : Ouvrir le JAR de PDFBox" class="img-responsive add-shadow"></a>        <p class="content__image-caption">Ouvrir le JAR de PDFBox</p>    </div></div>

### 2.2. Installation via Maven en tant que dépendance

#### Ajouter une dépendance dans le fichier pom.xml

Copiez le code suivant et collez-le dans le pom.xml.

```xml
<dependencies>
    <dependency>  
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox-app</artifactId>
        <version>3.0.0-alpha3</version>
    </dependency>
</dependencies>

Cela téléchargera automatiquement la dépendance PDFBox et l'installera dans le dossier du référentiel. Il est maintenant prêt à l'emploi.

Ajouter une dépendance à l'aide de la fonctionnalité Dépendances

  • Clic droit sur les dépendances dans la section du projet
  • Sélectionnez Add Dependency et remplissez les détails suivants avec la version mise à jour
    A Comparison between IronPDF For Java and Apache PDF Box for Java - Figure 7: Ajouter la dépendance PDFBox

    Ajouter la dépendance PDFBox

3. Créer un document PDF

3.1. Utilisation d'IronPDF

IronPDF propose différentes méthodes de création de fichiers. Examinons les deux méthodes les plus importantes.

URL existant en PDF

IronPDF simplifie grandement les tâches suivantes générer des documents à partir de HTML. L'exemple de code suivant convertit l'URL d'une page web en PDF.

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

Le résultat est l'URL ci-dessous qui est bien formaté et sauvegardé comme suit :

Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 8 : Ajouter la dépendance PDFBox

Sortie de l'URL IronPDF

Chaîne d'entrée HTML vers PDF

L'exemple de code suivant montre comment une chaîne HTML peut être utilisée pour rendre un PDF en Java. Il suffit d'utiliser une chaîne ou un document HTML pour le convertir et générer de nouveaux documents.

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

Le résultat est le suivant :

Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 9 : Sortie HTML d'IronPDF

Sortie HTML d'IronPDF

3.2. Utilisation d'Apache PDFBox

PDFBox peut également générer de nouveaux documents PDF à partir de différents formats, mais il ne peut pas convertir directement une URL ou une chaîne HTML.

L'exemple de code suivant crée un document contenant du texte :

//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
Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 10 : Sortie positionnée de PDFBox

PDFBox Positioned Output

Cependant, si nous supprimons contentStream.newLineAtOffset(25, 700); de l'exemple de code ci-dessus et exécutez ensuite le projet, il produit un PDF avec une sortie en bas de page. Cela peut être assez ennuyeux pour certains développeurs, car ils doivent ajuster le texte à l'aide de la fonction (x,y) coordonnées. y = 0 signifie que le texte apparaîtra en bas.

Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 11 : Sortie positionnée de PDFBox

PDFBox sans sortie de positionnement

4. Images à documenter

4.1. Utilisation d'IronPDF

IronPDF peut facilement convertir plusieurs images en un seul PDF. Le code permettant d'ajouter plusieurs images à un seul document est le suivant :

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
Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 12 : Sortie positionnée de PDFBox

Sortie d'images IronPDF

4.2. Utilisation d'Apache PDFBox

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
Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 13 : Images PDFBox en sortie

Sortie d'images IronPDF

5. Cryptage des documents

5.1. Utilisation d'IronPDF

Le code permettant de crypter les PDF avec un mot de passe dans IronPDF est donné ci-dessous :

// 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. Utilisation d'Apache PDFBox

Apache PDFBox permet également le cryptage des documents afin de rendre les fichiers plus sûrs. Vous pouvez également ajouter des informations supplémentaires telles que des métadonnées. Le code est le suivant :

//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. Prix et licences

Prix et licences d'IronPDF

IronPDF est gratuit pour le développement d'applications PDF simples et peut à tout moment faire l'objet d'une licence pour un usage commercial. IronPDF propose des licences pour un seul projet, des licences pour un seul développeur, des licences pour les agences et les organisations multinationales, ainsi que des licences de redistribution SaaS et OEM et une assistance. Toutes les licences sont disponibles avec un essai gratuitle logiciel est accompagné d'une garantie de remboursement de 30 jours et d'un an d'assistance et de mise à jour du logiciel.

Le paquetage Lite est disponible pour $749. Il n'y a absolument aucun frais récurrent avec les produits IronPDF. Des informations plus détaillées sur les licences des logiciels sont disponibles sur le site du produit octroi de licences page.

Comparaison entre IronPDF for Java et Apache PDF Box for Java - Figure 14 : Licences d'IronPDF

Licences d'IronPDF

Prix et licences d'Apache PDFBox

Apache PDFBox est disponible gratuitement. Il est gratuit quelle que soit l'utilisation qui en est faite, que ce soit à des fins personnelles, internes ou commerciales.

Vous pouvez inclure la licence Apache 2.0 (version actuelle) de ici. Pour inclure la copie de la licence, il suffit de l'inclure dans votre travail et vous pouvez également joindre la notice suivante en tant que commentaire en haut de votre code source.

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.

Conclusion

En comparaison, IronPDF l'emporte sur Apache PDFBox en termes de fonctionnalités et d'assistance technique. Il fournit également un support SaaS et OEM, ce qui est une exigence dans le développement de logiciels modernes. Cependant, la bibliothèque n'est pas libre d'utilisation commerciale comme l'est Apache PDFBox.

Les entreprises qui possèdent de grandes applications logicielles peuvent avoir besoin de corrections de bogues et d'une assistance permanente de la part de fournisseurs tiers pour résoudre les problèmes qui surviennent au cours du développement du logiciel. C'est quelque chose qui manque à de nombreuses solutions open source comme Apache PDFBox, qui dépend du soutien volontaire de sa communauté de développeurs pour assurer sa maintenance. En résumé, IronPDF convient mieux aux entreprises et au marché, tandis qu'Apache PDFBox est plus adapté aux applications personnelles et non commerciales.

Il existe également une version d'essai gratuite pour tester les fonctionnalités d'IronPDF. Essayez-le ou achetez-le maintenant.

Vous pouvez désormais obtenir tous les produits Iron Software dans Iron Suite à un prix très réduit. Visitez ce site page web pour plus d'informations sur cette offre exceptionnelle.

< PRÉCÉDENT
Comparaison entre IronPDF for Java et Spire.PDF Java
SUIVANT >
Comparaison entre IronPDF for Java et iTextPDF itext7 for Java

Prêt à commencer ? Version : 2024.9 vient de paraître

Téléchargement gratuit de Maven Voir les licences > ;