Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une comparaison entre IronPDF for Java et iTextPDF itext7 pour Java

Aujourd'hui, les développeurs peuvent bénéficier de meilleures solutions grâce à une technologie en constante amélioration.

L'avenir des processus de développement logiciel réside dans l'automatisation. Pendant longtemps, les fichiers PDF ont présenté des difficultés pour les développeurs. Lorsqu'on travaille avec des PDFs (c'est-à-dire produire du contenu et convertir du contenu d'autres formats en PDF), de nombreuses considérations doivent être prises en compte. Avec le développement de nombreuses bibliothèques destinées à aider à lire, écrire, créer et même convertir des PDFs à partir de nombreux formats, ces besoins sont désormais satisfaits.

Cet article compara deux des bibliothèques PDF les mieux accueillies par les développeurs Java pour éditer, imprimer et créer des fichiers PDF :

  • IronPDF for Java Library : Une bibliothèque PDF Java axée sur la génération de PDFs à partir de HTML.
  • Bibliothèque ITextPDF : Une bibliothèque Java-first, open-source, axée sur la génération de PDFs en utilisant une API programmable.

Nous examinerons les caractéristiques des deux bibliothèques avant de passer aux coûts de performance pour la conversion et la gestion des PDFs afin de déterminer quelle bibliothèque est la meilleure pour votre application. De plus, la durée de chaque bibliothèque sera enregistrée pour de futures recherches.

Installation de IronPDF for Java

Pour installer IronPDF pour Java, il suffit de le déclarer comme une dépendance. Pour définir IronPDF comme une dépendance, veuillez ajouter ce qui suit à votre pom.xml :

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
XML

Remarque : vous pouvez télécharger le .jar manuellement :

  1. Accédez à IronPDF pour Java Maven Repository pour accéder à la page du référentiel Maven.
  2. Extrayez le contenu du fichier zip.
  3. Créez un dossier et copiez le contenu du dossier zip.
  4. Ouvrez Eclipse IDE.
  5. Créez un nouveau projet Java.
  6. Ajoutez les fichiers .jar d'IronPDF dans le chemin de classe.
  7. Terminez l'assistant de création du projet. Et voilà !

Fonctionnalités de IronPDF

Les développeurs peuvent rapidement produire, lire et manipuler des PDFs avec l'aide de la robuste bibliothèque PDF IronPDF. IronPDF utilise le moteur Chrome au cœur et offre une richesse de fonctionnalités pratiques et puissantes, y compris la capacité de convertir HTML5, JavaScript, CSS et des fichiers image en PDF. IronPDF peut également ajouter des en-têtes et pieds de page uniques, et créer des fichiers PDF exactement comme ils apparaissent dans un navigateur web. Divers formats web, y compris HTML, ASPX, Razor View et MVC, sont pris en charge par IronPDF. Les principaux attributs d'IronPDF sont les suivants :

  • Créez facilement, lisez et modifiez des PDFs avec des programmes Java.
  • Créez des PDFs à partir de n'importe quel lien URL de site web qui a des paramètres pour les Agents Utilisateurs, Proxys, Cookies, En-têtes HTTP et Variables de Formulaire pour supporter la connexion en utilisant des formulaires de connexion HTML.
  • Supprimez des photos de publications PDF déjà existantes.
  • Ajoutez du texte, des photos, des signets, des filigranes et d'autres éléments aux PDFs.
  • Fusionnez et divisez les pages de plusieurs documents PDF.
  • Convertissez des fichiers de type média, y compris des fichiers CSS, en documents.

Installation d'ITextPDF Java

ITextPDF est disponible gratuitement sur le site web iTextPDF. Cette bibliothèque est open-source sous le modèle de licence logicielle AGPL.

Pour ajouter la bibliothèque iText dans votre application, incluez le dépôt Maven suivant dans votre fichier pom.xml.

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
XML

Téléchargez directement les fichiers .jar de iTextPDF et téléchargez directement le fichier slf4j.jar. Pour utiliser les bibliothèques, ajoutez les fichiers .jar de iTextPDF au classpath du système.

Caractéristiques de la bibliothèque IText

  • Créez des PDFs à partir de HTML, XML et d'images (png, jpg, etc.).
  • Ajoutez des signets, numéros de page et repères aux documents PDF.
  • Divisez un fichier PDF en plusieurs PDFs ou combinez plusieurs PDFs en un seul fichier PDF.
  • Modifiez des formulaires PDF par programmation.
  • Ajoutez du texte, des images et des figures géométriques aux PDFs.

Convertir des chaînes HTML en PDFs avec iTextPDF Java

Dans iText pour Java, HTMLConverter est la classe principale utilisée pour convertir HTML en PDF.

Il y a trois méthodes principales dans HTMLConverter :

  • convertToDocument, qui renvoie un objet Document.
  • convertToElements, qui renvoie une liste d'objets IElement.
  • convertToPdf permet de convertir du contenu HTML en PDF. Cette méthode accepte une entrée HTML comme un String, un File, ou un InputStream, et renvoie un File, un OutputStream, ou un objet Document.
package com.hmkcode;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;

public class App {
    // HTML content to be converted to PDF
    public static final String HTML = "<h1>Hello</h1>"
            + "<p>This was created using iText</p>"
            + "<a href='http://hmkcode.com'>hmkcode.com</a>";

    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML content to PDF and save it
        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 {
    // HTML content to be converted to PDF
    public static final String HTML = "<h1>Hello</h1>"
            + "<p>This was created using iText</p>"
            + "<a href='http://hmkcode.com'>hmkcode.com</a>";

    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML content to PDF and save it
        HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
        System.out.println("PDF Created!");
    }
}
JAVA
Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 1

Convertir des chaînes HTML en PDFs avec IronPDF for Java

La classe PdfDocument d'IronPDF offre plusieurs méthodes statiques qui permettent aux développeurs Java de produire du texte HTML à partir de diverses sources. Une telle méthode est la méthode PdfDocument.renderHtmlAsPdf, qui convertit une chaîne de balisage HTML en un document PDF.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Set the license and log path
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert the HTML content to a PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");

        // Save the generated PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Set the license and log path
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert the HTML content to a PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");

        // Save the generated PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

Convertir des fichiers HTML en PDF avec ITextPDF Java

La méthode convertToPdf peut être utilisée pour convertir n'importe quel fichier HTML en PDF.

Les images et fichiers CSS peuvent être inclus dans le fichier HTML. Ils doivent cependant être au même emplacement que le fichier HTML. Nous pouvons utiliser la classe ConverterProperties pour définir le chemin de base pour les CSS et images référencés. Ceci est utile lorsque les actifs du fichier HTML sont situés dans différents répertoires.

Considérez un fichier index.html contenant le balisage suivant.

<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

Le code source ci-dessous convertit le fichier index.html en PDF :

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 {
        // Convert the HTML file to PDF and save it
        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 {
        // Convert the HTML file to PDF and save it
        HtmlConverter.convertToPdf(new FileInputStream("index.html"), 
                new FileOutputStream("index-to-pdf.pdf"));

        System.out.println("PDF Created!");
    }
}
JAVA
Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 2

Convertir des fichiers HTML en PDF avec IronPDF pour Java

La méthode PdfDocument.renderHtmlFileAsPdf d'IronPDF convertit les fichiers HTML situés sur un ordinateur ou sur un chemin de fichier réseau.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Convert the HTML file to PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Convert the HTML file to PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
JAVA

Ajouter des images aux fichiers PDF avec IronPDF for Java

Vous pouvez utiliser la méthode PdfDocument.fromImage d'IronPDF pour rendre un groupe d'images en un seul fichier PDF. L'exemple suivant utilise cette méthode sur une courte liste d'images situées sur différents chemins de système de fichiers.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class IronPdfExample {

    public static void main(String[] args) {
        // 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"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class IronPdfExample {

    public static void main(String[] args) {
        // 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

Ajouter des images aux PDFs avec ITextPDF Java

L'exemple de code complet ci-dessous utilise iText pour convertir deux images situées dans le répertoire de travail actuel en un fichier PDF.

import java.io.*;
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
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating PdfWriter object to write the PDF file to the path
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfDocument object
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating ImageData from images on disk (from given paths) using ImageDataFactory
        ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Adding images to the document
        doc.add(imgA);
        doc.add(imgB);

        // Close the document
        doc.close();

        System.out.println("Image added successfully and PDF file created!");
    }
}
import java.io.*;
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
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating PdfWriter object to write the PDF file to the path
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfDocument object
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating ImageData from images on disk (from given paths) using ImageDataFactory
        ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Adding images to the document
        doc.add(imgA);
        doc.add(imgB);

        // Close the document
        doc.close();

        System.out.println("Image added successfully and PDF file created!");
    }
}
JAVA
Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 3

Licences

iTextSharp est open source et est sous licence AGLP.

Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 4

Cela garantit que toute personne qui utilise une application incorporant iTextSharp a droit à une copie complète du code source de l'application, même si elle le fait via un réseau d'entreprise ou l'Internet.

Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 5

Contactez iText directement pour discuter du prix de la licence si vous souhaitez l'utiliser pour des applications commerciales.

Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 6

IronPDF est gratuit pour le développement et peut toujours être sous licence pour le déploiement commercial. Détails de la licence IronPDF pour une utilisation monoprojet, des développeurs individuels, des agences et des sociétés mondiales, ainsi que pour la redistribution SaaS et OEM. Toutes les licences incluent une garantie de remboursement de 30 jours, un an de support produit et de mises à jour, validité pour dev/staging/production, et également une licence permanente (achat unique).

Le prix du package Lite commence à partir de $799.

  • Les développeurs peuvent profiter de l'utilisation illimitée de la bibliothèque pour le développement. En termes de licence générale, les tarifs sont très économiques.
  • Un an de support illimité gratuit.
  • Des essais gratuits sont également disponibles à des fins de licence.
  • Toutes les licences incluent une garantie de remboursement de 30 jours.
  • Les licences sont valables pour tous les environnements (développement, préproduction, production, etc.).
  • Les licences incluent un an de support inconditionnel.
  • Les licences IronPDF nécessitent un achat unique.
Comparaison entre IronPDF for Java et iTextPDF itext7 for Java - Figure 7

IronPDF vs iText

Il existe plusieurs différences significatives entre iText et IronPDF.

L'API d'iText est structurée autour d'un modèle programmatique. La manipulation des propriétés et du contenu des PDFs sous ce modèle est plus bas niveau et granulaire. Bien que cela donne au programmeur plus de contrôle et de flexibilité, cela nécessite également d'écrire plus de code pour implémenter des cas d'utilisation.

L'API d'IronPDF est structurée autour de l'optimisation de la productivité du développeur. IronPDF simplifie l'édition, la manipulation, la création et d'autres tâches complexes par les développeurs en leur permettant de les réaliser en seulement quelques lignes de code.

Conclusion

Tous les clients d'Iron Software ont l'option d'acheter l'ensemble de la suite de packages en seulement deux clics. Vous pouvez actuellement acheter les cinq bibliothèques de la suite Iron Software, avec un support continu pour chacune, au coût de seulement deux bibliothèques de la suite.

Veuillez noteriTextPDF est une marque déposée de son propriétaire respectif. Ce site n'est affilié à, soutenu par, ou sponsorisé par iTextPDF. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont faites à titre d'information uniquement et reflètent les informations publiquement disponibles au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en utilisant une bibliothèque Java ?

Vous pouvez utiliser la méthode renderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en documents PDF. Vous pouvez également convertir des fichiers HTML en PDF en utilisant la méthode renderHtmlFileAsPdf.

Quelles sont les étapes d'installation pour la bibliothèque PDF Java ?

Pour installer IronPDF for Java, vous devez le déclarer comme une dépendance dans votre fichier pom.xml ou télécharger manuellement le .jar depuis le dépôt Maven d'IronPDF et l'inclure dans le chemin des classes de votre projet.

Comment IronPDF for Java se compare-t-il à iTextPDF ?

IronPDF se concentre sur la simplification des tâches avec moins de lignes de code, utilisant un moteur Chrome pour les conversions HTML en PDF. iTextPDF offre un contrôle plus granulaire via une API programmée mais nécessite plus de code pour la manipulation.

Puis-je ajouter des images à un PDF en utilisant une bibliothèque PDF Java ?

Oui, avec IronPDF, vous pouvez utiliser la méthode PdfDocument.fromImage pour rendre des images en un seul fichier PDF en fournissant une liste de chemins de fichiers image.

Quelles options de licence la bibliothèque PDF Java offre-t-elle ?

IronPDF offre des options de licence flexibles, y compris des licences pour projet unique, développeur individuel, agence et entreprise, ainsi que des options pour la redistribution SaaS et OEM. Toutes les licences sont accompagnées d'une garantie de remboursement de 30 jours et d'un an de support.

Est-il possible d'éditer des PDFs avec IronPDF for Java ?

Oui, IronPDF vous permet de modifier, fusionner et manipuler des documents PDF. Il fournit des outils pour ajouter des en-têtes, des pieds de page et gérer plusieurs formats web comme HTML, ASPX et MVC.

Existe-t-il des options gratuites pour les bibliothèques PDF Java ?

iTextPDF est open source sous licence AGPL, ce qui permet une utilisation gratuite mais nécessite de partager le code source de l'application qui l'utilise. IronPDF est gratuit pour le développement mais nécessite une licence pour le déploiement commercial.

Quelle est la meilleure façon de convertir des fichiers HTML en PDF en Java ?

La méthode renderHtmlFileAsPdf d'IronPDF vous permet de convertir des fichiers HTML depuis un chemin local ou réseau en documents PDF, offrant un processus simplifié pour les développeurs.

Quelles fonctionnalités offre IronPDF pour la génération de PDF?

IronPDF prend en charge la création, la lecture et l'édition de PDFs avec des fonctionnalités telles que HTML5, JavaScript, CSS et conversion d'images en PDF, ajout d'en-têtes/pieds de page, et plus encore. Il se concentre sur la productivité des développeurs et la facilité d'utilisation.

Que faut-il pour intégrer iTextPDF dans un projet Java ?

Pour inclure iTextPDF dans votre projet Java, vous devez ajouter les détails de son dépôt Maven dans votre fichier pom.xml et télécharger les fichiers .jar nécessaires pour l'intégration.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite
iText Logo

Fatigué des renouvellements coûteux et des mises à jour de produit périmées ?

Passez facilement de iText grâce à notre soutien à la migration de l'ingénierie et à une meilleure offre.

IronPDF Logo