COMPARAISON DES PRODUITS

Créer un PDF à partir d'un tableau d'octets C# iTextSharp (vs IronPDF)

Publié mai 30, 2023
Partager:

1.0 Introduction

Adobe a développé le format de document portable (Portable Document Format) pour faciliter le partage de documents textuels et d'images(PDF (EN ANGLAIS)). Pour visualiser un fichier image PDF, vous devez utiliser une autre application. Dans la culture actuelle, de nombreuses entreprises utilisent des documents PDF pour diverses tâches, notamment la préparation de factures et d'autres documents administratifs.

Les développeurs utilisent également le format de fichier PDF existant pour produire des documents ou des fichiers images conformes aux spécifications du client. Heureusement, les bibliothèques qui simplifient le processus ont rendu la production de PDF plus simple que jamais. Tenez compte de facteurs tels que les capacités de construction, de lecture et de conversion lorsque vous choisissez une bibliothèque pour votre projet, afin de sélectionner la meilleure bibliothèque disponible.

Dans ce billet, nous allons comparer deux des bibliothèques PDF Dot NET les plus utilisées. Il s'agit de

  • iText PDF
  • IronPDF

    Dans votre application ou projet Microsoft .NET, vous pouvez créer, lire et modifier des PDF à l'aide des bibliothèques IronPDF ou iText PDF. Nous examinerons d'abord les capacités des deux bibliothèques avant de passer directement aux performances globales, aux frais de conversion et de traitement des PDF afin de déterminer quelle bibliothèque convient le mieux à votre application. Les Framework .NET de Microsoft prennent en charge les deux bibliothèques. En outre, la durée de chaque bibliothèque sera enregistrée à des fins de référence et de recherche ultérieure. Pour en savoir plus sur la comparaison, cliquez surici.

2. Caractéristiques de la bibliothèque

2.1 Fonctionnalités d'iText PDF

IText PDF est une bibliothèque et un système Java qui permet de convertir du texte en fichiers PDF. Le texte adhère au modèle de licence de logiciel AGPL. La licence AGPL est une licence de logiciel libre et open-source.

  • Une API pour la production de fichiers PDF est disponible via la bibliothèque iText.
  • Les chaînes HTML et XML peuvent être analysées en PDF à l'aide du lecteur var du programme iText.
  • Nous pouvons ajouter des signets, des numéros de page et des repères à nos documents PDF à l'aide de la bibliothèque iText.
  • Il est possible de diviser un fichier PDF en plusieurs PDF ou de combiner plusieurs fichiers PDF en un seul PDF à l'aide de la bibliothèque iText.
  • Nous pouvons éditer des formulaires dans les PDF à l'aide d'iText.
  • En utilisant des images PNG, JPEG et d'autres formats d'image, iText peut également créer des PDF.
  • Une classe Canvas est proposée par la bibliothèque iText et peut être utilisée pour dessiner différentes formes géométriques sur des textes préexistants.
  • Dans les documents PDF, iText fournit un outil qui vous permet d'ajouter et de modifier des polices et des images.

2.2 Caractéristiques d'IronPDF

Les développeurs peuvent rapidement produire, lire et modifier des fichiers PDF à l'aide de la robuste IronPDF, une bibliothèque PDF .NET. IronPDF a un moteur Chrome à son cœur et offre une multitude de capacités pratiques et puissantes, notamment la possibilité de convertir des fichiers HTML5, JavaScript, CSS et images en PDF, d'ajouter des en-têtes et des pieds de page uniques et de produire des PDF exactement tels qu'ils apparaissent dans un navigateur web. IronPDF prend en charge divers formats Web et .NET, notamment HTML, ASPX, Razor View et MVC. Les principales caractéristiques d'IronPDF sont les suivantes :

  • Créez, lisez et modifiez facilement des fichiers PDF dans un programme C# Dot NET.
  • Création de PDF à partir d'un lien URL de site web qui comporte des paramètres pour les agents utilisateurs, les serveurs mandataires, les cookies, les en-têtes HTTP et les variables de formulaire afin de prendre en charge la connexion à l'aide de formulaires de connexion HTML.
  • Suppression des photos dans les publications PDF déjà existantes.
  • Ajout de texte, de photos, de signets, de filigranes et d'autres éléments aux fichiers PDF.
  • Des fonctionnalités qui facilitent la fusion et la division des pages de plusieurs documents PDF.
  • La capacité de transformer les actifs de type média, y compris les fichiers CSS, en documents.

3.0 Installer la bibliothèque

3.1 Installer iText7

Trouvez d'abord iText en utilisant le gestionnaire de paquets NuGet. iText7 et iText.pdfhtml doivent être installés tous les deux car les fonctionnalités de ces paquets sont réparties entre plusieurs paquets.

Créer un PDF à partir d'un tableau d'octets C# iTextSharp (vs IronPDF) Figure 1 - iText7

Installez les paquets suivants comme indiqué ci-dessous si vous préférez utiliser la ligne de commande de Visual Studio :

Install-Package itext7 && Install-Package itext7.pdfhtml

IText7 étant la version la plus récente, nous l'utilisons dans notre solution.

3.2 Installer la bibliothèque IronPDF

Comme le montre la capture d'écran ci-dessous, nous pouvons facilement rechercher "IronPDF" dans le gestionnaire de paquets :

Créer un PDF à partir d'un tableau d'octets C# iTextSharp (vs IronPDF) Figure 2 - IronPDF

La liste des résultats de recherche pertinents est affichée dans le graphique ci-dessus. Pour installer le paquet sur votre machine, veuillez cocher les cases nécessaires.

Si vous souhaitez installer le paquet à l'aide de la ligne de commande, ajoutez la ligne suivante dans l'onglet terminal du gestionnaire de paquets :

:PackageInstall

Le paquet est maintenant prêt à être utilisé et sera téléchargé et installé dans le projet actuel.

4.0 Création de PDF

4.1 Utilisation de iTextSharp

Nous pouvons créer des documents PDF avec des tableaux d'octets statiques publics générés à partir du document iText. Voici un exemple qui nous aide à créer un nouveau document à l'aide de la bibliothèque iText PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//byte array
byte [] result;
//create new MemoryStream using var ms
using (var ms = new MemoryStream())
{
    //new document
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports System.IO
Imports iText.Kernel.Geom
Imports iText.Html2pdf

Private html = "<h1>Hello world</h1>"
'byte array
Private result() As Byte
'create new MemoryStream var ms
Using ms = New MemoryStream()
	'new document
	Dim doc = New PdfDocument(New PdfWriter(ms))
	doc.SetDefaultPageSize(PageSize.A4)
	doc.SetTagged()
	HtmlConverter.ConvertToPdf(html, doc, New ConverterProperties())
	result = ms.ToArray()
End Using
File.WriteAllBytes("test.pdf", result)
VB   C#

L'exemple ci-dessus montre que nous créons un document PDF à partir de la chaîne HTML donnée. Tout d'abord, nous créons un MemoryStream pour contenir les données. Ensuite, nous créons PdfWriter et passons le MemoryStream comme paramètre pour contenir les données. Nous créons ensuite le fichier PDF à l'aide du convertisseur HTML. Ensuite, tous les résultats ont été enregistrés dans le MemoryStream. Nous convertissons ensuite les données en octets, puis nous utilisons la classe File pour enregistrer le MemoryStream ms dans un nouveau fichier, comme dans la sortie ci-dessous.

Créer un PDF à partir d'un tableau d'octets C# iTextSharp (vs IronPDF) Figure 3 - Sortie

4.2 Utilisation d'IronPDF

IronPDF rend la création de fichiers PDF très simple avec quelques lignes de code. Vous trouverez ci-dessous un exemple de code permettant de créer un fichier PDF à l'aide d'IronPDF.

var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
Dim html = "<h1>Hello world</h1>"
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim bytedata=pdf.RenderHtmlAsPdf(html).BinaryData
File.WriteAllBytes("test.pdf", bytedata)
VB   C#

Dans un premier temps, nous créons un objet pour ChromePdfRenderer qui permet de créer un fichier PDF. Ensuite, nous ajoutons les données HTML dans le document PDF en utilisant la méthode RenderHtmlAsPdf. Nous convertissons ensuite les données en tableau d'octets. La dernière étape consiste à utiliser le fichier qui nous aide à convertir un tableau d'octets en fichier PDF. Le résultat sera le suivant.

Créer un PDF à partir d'un tableau d'octets C# iTextSharp (vs IronPDF) Figure 4 - Sortie IronPDF

Pour plus de tutoriels sur le code, cliquez surici.

5.0 Conclusion

iText7 est l'une des bibliothèques PDF les plus utilisées. le code d'iText est très complexe et ne convient pas aux débutants. Nous avons besoin d'une connaissance de base de la bibliothèque pour l'utiliser sur l'application de l'utilisateur. iText génère des fichiers PDF de grande taille, ce qui peut avoir un impact sur la mémoire de l'utilisateur lorsqu'il génère un fichier contenant de nombreuses pages. contrairement aux autres logiciels, iText7 a divisé la bibliothèque en plusieurs paquets. iText7 a des dépendances avec plusieurs paquets. Nous devons télécharger tous les paquets pour que cela fonctionne, ce qui peut augmenter la taille de l'application. Une licence de développement et une licence d'entreprise sont gratuites avec iText. Cliquez surici pour en savoir plus sur la licence iText.

En revanche, IronPDF est facile et simple à utiliser. Quelques lignes de code suffisent pour créer des fichiers PDF. Elle convient aux débutants et aucune connaissance de base n'est nécessaire pour l'utiliser. IronPDF ne dépend d'aucun autre paquetage. Il s'agit d'un paquet solo qui fonctionne tout seul. Les développeurs peuvent choisir parmi une variété de licences à acheter pour répondre à leurs besoins, en plus de la licence gratuite qui est fournie. L'édition $749 Lite inclut toutes les fonctionnalités de la bibliothèque, telles qu'une licence permanente, une garantie de remboursement de 30 jours, un an de support logiciel, des mises à jour, et des possibilités de redistribution SaaS et OEM. En outre, il exclut les dépenses récurrentes. Ces licences sont des achats uniques qui peuvent être appliqués au développement, à la mise en scène et à la production. En outre, des licences gratuites limitées dans le temps et non distribuables sont disponibles auprès d'IronPDF. Veuillez cliquer surici pour obtenir une ventilation détaillée des prix d'IronPDF et des informations sur les licences.

< PRÉCÉDENT
Comparaison entre IronPDF et Foxit PDF SDK
SUIVANT >
Comparaison entre iTextSharp et IronPDF pour l'édition des PDF