Passer au contenu du pied de page
COMPARAISONS DE PRODUITS
Comparer IronPDF à iTextSharp en C#

iTextSharp C# HTML to PDF Alternative pour .NET Core

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison
## IronPDF contre iTextSharp / iText7

Comparaison exhaustive des bibliothèques PDF .NET — analyse détaillée des fonctionnalités avec contexte étayé par des preuves

iTextSharp / iText7
13
sur 20 fonctionnalités
10 Oui 7 Complexe 3 Non
IronPDF ✦
20
sur 20 fonctionnalités
20 Oui 0 Complexe 0 Non
Caractéristique iTextSharp / iText7 IronPDF ✦
PDF Creation & Conversion
Conversion HTML/CSS en PDF $ Paid Add-on
HTML→PDF via l'extension `pdfHTML` (package séparé ; modèle AGPL/commercial).
✓ Yes
Moteur basé sur Chromium avec rendu CSS3, Flexbox et Grid intégré, d'une précision pixel parfaite.
Exécution de JavaScript ? Unknown
pdfHTML décrit la conversion HTML/CSS→PDF, mais la prise en charge de l'exécution JS n'est pas mentionnée dans la documentation.
✓ Yes
Exécute intégralement le JS lors du rendu — graphiques dynamiques, SPA et contenu interactif.
Génération programmatique ✓ Yes
Conçu comme un kit de développement logiciel (SDK) PDF programmable pour .NET — créez, modifiez et améliorez.
✓ Yes
Générez à partir de modèles HTML, de chaînes de caractères, de vues ASPX ou d'images. Chromium gère la mise en page.
URL en PDF $ Paid Add-on
Possible via l'extension pdfHTML avec récupération d'URL, mais ce n'est pas une fonctionnalité de base.
✓ Yes
`RenderUrlAsPdf()` Capture n'importe quelle URL en direct avec rendu CSS/JS complet.
DOCX en PDF ✕ No
Aucune conversion Word native — iText est un SDK natif PDF.
✓ Yes
`DocxToPdfRenderer` Convertit les documents Word en préservant la structure et la mise en forme.
Reading & Extraction
Extraction de texte ✓ Yes
`PdfTextExtractor.GetTextFromPage()` avec de multiples stratégies d'extraction.
✓ Yes
Extrait le texte en tenant compte de la mise en page. Compatible avec IronOCR pour les documents numérisés.
Convertir les pages en images ? Unknown
Les flux de travail OCR mentionnent le rendu, mais aucun module " PDF→rendu d'image " à partir de la source principale n'est mentionné dans les documents iText cités.
✓ Built-in
Rasterisation native vers PNG, JPEG, BMP avec DPI configurable.
OCR intégré $ Paid Add-on
Module complémentaire pdfOCR disponible ; les notes d'installation mentionnent les dépendances spécifiques à la plateforme/natives (par exemple, les exigences d'exécution Linux/macOS).
✓ Via IronOCR
Intégration native avec IronOCR pour la reconnaissance optique de caractères (OCR) dans plus de 127 langues sur les PDF numérisés.
Editing & Manipulation
Merging & Splitting ✓ Yes
`PdfMerger` classe dans l'API .NET ; les exemples officiels traitent de la fusion via PdfMerger.
✓ Yes
Fusion, division, ajout, préfixe et réorganisation des pages en une seule ligne grâce à une API intuitive.
Headers, Footers & Page Numbers ✓ Yes
L'inscription à la PDF Association confirme la possibilité d'ajouter des numéros de page et des fonctionnalités similaires aux fichiers PDF existants.
✓ Yes
En-têtes/pieds de page HTML avec numéros de page automatiques, dates et contenu personnalisé.
Filigranes ✓ Yes
L'inscription à la PDF Association inclut explicitement les " filigranes… sur les documents PDF existants ".
✓ Yes
`ApplyWatermark()` Accepte HTML/CSS — contrôle total de l'opacité, de la rotation et de la position.
Stamp Text & Images ✓ Yes
Placement de contenu programmatique disponible via les API canvas et layout d'iText.
✓ Yes
`TextStamper` `ImageStamper` avec Google Fonts, positionnement, contrôle par page.
Masquer le contenu ✓ Yes
iText offre une prise en charge des annotations de rédaction via le module de nettoyage.
✓ Yes
`RedactTextOnAllPages()` Supprime définitivement les textes sensibles sur une seule ligne.
Security & Compliance
Encryption & Passwords ✓ Yes
Chiffrement complet et contrôle des autorisations via l'API de sécurité d'iText.
✓ Yes
Chiffrement AES, mots de passe propriétaire/utilisateur, permissions granulaires (impression, copie, annotation).
Signatures numériques ✓ Yes
Documentation dédiée à la signature numérique et API de signature ( `PdfSigner` ).
✓ Yes
`PdfSignature` avec prise en charge des certificats X509/PFX.
PDF/A & PDF/UA Compliance ✓ Yes
La documentation traite de la création de fichiers PDF/A et explique les contraintes (la conversion à partir de fichiers existants n'est pas automatique).
✓ Yes
Conformité native aux normes d'archivage PDF/A et d'accessibilité PDF/UA pour une utilisation en Enterprise .
Platform & Deployment
Support multiplateforme ✓ Yes
.NET Standard 2.0 / .NET Framework 4.6.1 — fonctionne sur .NET 6+ sur tous les systèmes d'exploitation.
✓ Yes
Windows, Linux, macOS, x64, x86, ARM. .NET 6–10, Core, Standard 2.0+, Framework 4.6.2+.
Serveur / Docker / Cloud ~ Complex
L'installation de base nécessite plusieurs paquets (iText + adaptateur Bouncy Castle) ; les modules complémentaires (pdfHTML/pdfOCR) ajoutent des étapes de dépendance/conformité supplémentaires.
✓ Yes
Docker, Azure, AWS, IIS. Images Docker officielles et guides de déploiement.
Facilité d'installation ~ Complex
L'installation de base nécessite plusieurs paquets (adaptateur Bouncy Castle) ; HTML/OCR nécessitent des modules complémentaires supplémentaires et parfois des dépendances natives.
✓ Simple
Commande NuGet `Install-Package IronPdf` . Prêt en quelques minutes.
Licensing & Support
Modèle de licence ~ Complex
Double licence : AGPLv3 (obligation de divulgation du code source pour une utilisation en réseau) ou commerciale. L'AGPL peut être restrictive pour les applications propriétaires.
✓ Commercial
Licences perpétuelles. Essai gratuit de 30 jours avec toutes les fonctionnalités, sans filigrane.
Commercial Support & SLA ✓ Yes
Le site iText inclut des accords de licence commerciale et de support dans son modèle de licence.
✓ 24/5 Support
Assistance technique dédiée avec SLA garanti — e-mail, chat en direct, téléphone.
Documentation ✓ Yes
Guides d'installation, articles de la base de connaissances et références API disponibles (noyau + modules complémentaires).
✓ Extensive
Référence API complète, plus de 100 guides pratiques, tutoriels, exemples de code, dépannage, vidéos.

Données issues de la documentation officielle d'iText, de la liste de l'association PDF et des références des packages NuGet .
iText7 est puissant, mais sa licence AGPL est complexe et son installation nécessite plusieurs packages.
IronPDF offre une couverture complète avec une configuration plus simple — essayez-le gratuitement pendant 30 jours .

Pour les développeurs travaillant avec des PDF, disposer d'une bibliothèque fiable pour la génération et la manipulation de PDF est essentiel. Dans l'écosystème .NET, il peut y avoir des douzaines de bibliothèques PDF C# parmi lesquelles choisir, alors comment choisir celle qui répond le mieux à vos besoins ?

Sélectionner la bonne bibliothèque est crucial pour un développement efficace lors de l'utilisation de fonctionnalités PDF dans les applications .NET. Cet article propose une comparaison détaillée entre deux bibliothèques PDF C# de premier plan : IronPDF et iText 7 (anciennement connu sous le nom d'iTextSharp). Nous explorerons leurs fonctionnalités, leurs performances, leur licence et leur adéquation aux différentes exigences de projet pour vous aider à prendre une décision éclairée.

Pourquoi choisir une bibliothèque PDF .NET ?

Les PDF sont largement utilisés dans les rapports, factures et documents juridiques, rendant la génération et la manipulation de PDF essentielles pour de nombreuses applications. Lors de la sélection d'une bibliothèque, les facteurs clés à considérer incluent :

  • Facilité d'intégration – À quelle vitesse pouvez-vous implémenter des fonctionnalités PDF ?
  • Prise en charge de la conversion HTML en PDF – Permet-elle une conversion facile à partir de contenu web ?
  • Licence et coût – Est-elle gratuite ou nécessite-t-elle une licence commerciale ?
  • Jeu de fonctionnalités – Prend-elle en charge l'extraction de texte, la signature ou l'édition ?
  • Performance – Quelle est la rapidité de génération ou de traitement des PDF ?

Aperçu d'IronPDF et d'iText7

Introduction à IronPDF

IronPDF est une bibliothèque PDF commerciale conçue spécifiquement pour les développeurs .NET. Elle simplifie la génération, la manipulation et la conversion de PDF, ce qui en fait l'une des bibliothèques les plus faciles à utiliser dans les applications C#.

IronPDF prend en charge .NET Core, .NET Framework et .NET Standard, garantissant la compatibilité sur divers environnements .NET. Son haut niveau de compatibilité multiplateforme en fait un choix idéal pour les équipes travaillant sur différents environnements d'applications, et elle s'intègre parfaitement aux IDE tels que Visual Studio. Outre sa version .NET, IronPDF est également disponible en Java, Python et Node.js.

Caractéristiques principales :

  • Support intégré de la conversion HTML en PDF – Convertissez des pages web, HTML, CSS et JavaScript en PDF sans add-ons supplémentaires.
  • Édition de PDF – Modifiez les PDF existants en ajoutant du texte, des images, des en-têtes et pieds de page.
  • Sécurité des PDF – Chiffrez les PDF, définissez une protection par mot de passe et gérez les autorisations pour la visualisation, l'impression ou l'édition.
  • Filigranage et annotations – Appliquez facilement des filigranes texte et image, des tampons ou des commentaires aux documents.
  • Remplissage de formulaire et extraction de données – Remplissez des formulaires PDF interactifs de manière programmatique et extrayez les données des formulaires.

Idéal pour : Les développeurs à la recherche d'une solution simple tout-en-un sans la complexité des add-ons supplémentaires ou de la licence compliquée.

Introduction à iText7

iText 7 est une bibliothèque PDF puissante et flexible qui offre des capacités étendues de manipulation de PDF, y compris la création, le chiffrement et la signature de documents. Cependant, sa bibliothèque principale ne prend pas en charge nativement la conversion HTML en PDF.

Caractéristiques principales

  • Personnalisation PDF à faible niveau – Offre un contrôle détaillé sur la structure, les métadonnées et le rendu des PDF.
  • Accessibilité et conformité : Génère des PDF/A, PDF/UA et PDF/X pour une conservation à long terme et une conformité en matière d'accessibilité.
  • Conversion HTML en PDF : L'add-on pdfHTML payant permet la conversion de contenu HTML en PDF.
  • Support Java et .NET : Conçu principalement pour Java, avec un support C# via iText 7 pour .NET.
  • Gestion des formulaires PDF : Créez et éditez des AcroForms et XFA Forms pour les formulaires PDF interactifs.

Idéal pour : Les développeurs ayant besoin d'une solution PDF hautement personnalisable et prêts à acheter des add-ons supplémentaires pour des fonctionnalités étendues.

Caractéristiques et avantages

Avant d'entrer dans les détails des fonctionnalités et de leurs exemples de code associés, examinons d'abord l'une des plus grandes différences fonctionnelles entre IronPDF et iText 7, à savoir la conversion HTML en PDF.

  • IronPDF prend nativement en charge le rendu des HTML, CSS et JavaScript sans nécessiter de composants supplémentaires.
  • iText 7, en revanche, nécessite l'add-on pdfHTML, qui est une fonction payante sous licence commerciale. Cela augmente les coûts pour les développeurs nécessitant une fonctionnalité de conversion web vers PDF.

Organigramme comparatif HTML vers PDF

Conclusion : Si vous avez besoin de la conversion HTML en PDF, IronPDF est la solution la plus rentable car elle inclut cette fonctionnalité dès le départ.

Fonctionnalités clés d'IronPDF (avec exemples de code)

IronPDF offre un large éventail de fonctionnalités pour travailler avec des documents PDF. Cela va de la création de PDF à la manipulation et à la sécurité des PDF. Pour avoir une idée plus claire de l'ampleur des fonctionnalités de cette bibliothèque, nous allons jeter un œil à quelques-unes des fonctionnalités clés sélectionnées.

Conversion HTML en PDF

Convertissez du contenu HTML en documents PDF de haute qualité grâce au puissant moteur de rendu d'IronPDF. Le moteur de rendu d'IronPDF ne se contente pas de convertir le contenu HTML non plus; avec cela, vous serez en mesure de maintenir toute la mise en forme CSS originale et l'interactivité JavaScript.

using IronPdf;

public class Program
{
    static void Main(string[] args)
    {
        // Create a new ChromePdfRenderer instance for rendering HTML to PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the specified HTML file as a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html");

        // Save the rendered PDF to the specified file path
        pdf.SaveAs("HtmlToPdf.pdf");
    }
}
using IronPdf;

public class Program
{
    static void Main(string[] args)
    {
        // Create a new ChromePdfRenderer instance for rendering HTML to PDF
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the specified HTML file as a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html");

        // Save the rendered PDF to the specified file path
        pdf.SaveAs("HtmlToPdf.pdf");
    }
}
Imports IronPdf

Public Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new ChromePdfRenderer instance for rendering HTML to PDF
		Dim renderer As New ChromePdfRenderer()

		' Render the specified HTML file as a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("example.html")

		' Save the rendered PDF to the specified file path
		pdf.SaveAs("HtmlToPdf.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Entrée HTML Saisir le contenu HTML

Sortie PDF Sortie HTML vers PDF avec IronPDF

Dans cet exemple de code, nous avons d'abord créé une nouvelle instance ChromePdfRenderer, qui nous donne accès au puissant moteur de rendu utilisé par IronPDF pour convertir du HTML en PDF. Ensuite, nous passons un fichier HTML à la méthode RenderHtmlFileAsPdf(), qui à son tour transforme le HTML en un PDF, stocké dans l'objet PdfDocument. Enfin, nous enregistrerons le PDF à l'emplacement de fichier spécifié.

URL en PDF

Pour les développeurs cherchant à convertir le contenu d'URL en PDF, ne cherchez pas plus loin qu'IronPDF. Avec cette bibliothèque, vous pourrez créer des documents PDF parfaits au pixel près grâce à l'utilisation du moteur de rendu ChromePdfRenderer, qui maintiendra tous les styles et mises en page d'origine lors de la conversion de l'URL en PDF. Pour cet exemple, nous utiliserons cette URL pour démontrer comment IronPDF peut gérer un style CSS plus complexe.

using IronPdf;

public class Program
{
    static void Main(string[] args)
    {
        // Create a new ChromePdfRenderer instance
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the specified URL as a PDF document
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the rendered PDF to the specified file path
        pdf.SaveAs("UrlToPdf.pdf");
    }
}
using IronPdf;

public class Program
{
    static void Main(string[] args)
    {
        // Create a new ChromePdfRenderer instance
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the specified URL as a PDF document
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the rendered PDF to the specified file path
        pdf.SaveAs("UrlToPdf.pdf");
    }
}
Imports IronPdf

Public Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new ChromePdfRenderer instance
		Dim renderer As New ChromePdfRenderer()

		' Render the specified URL as a PDF document
		Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.apple.com")

		' Save the rendered PDF to the specified file path
		pdf.SaveAs("UrlToPdf.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Sortie PDF : URL vers PDF avec IronPDF

Tout comme dans notre exemple HTML vers PDF, la première étape pour convertir n'importe quelle URL en PDF à l'aide IronPDF consiste d'abord à créer une nouvelle instance ChromePdfRenderer. Une fois que la méthode a rendu le contenu de l'URL au format PDF, en utilisant RenderUrlAsPdf, elle enregistre le PDF résultant dans un nouvel objet PdfDocument, avant que nous utilisions la méthode SaveAs pour enregistrer le PDF.

Signatures PDF

Assurez l'authenticité de votre document PDF en appliquant une signature numérique à vos documents PDF. C'est ce que nous montrons ici.

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
using IronSoftware.Drawing;

public class Program
{
    static void Main(string[] args)
    {
        // Load the certificate used for signing the PDF
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);

        // Create a PdfSignature instance and set the signature image
        var sig = new PdfSignature(cert);
        sig.SignatureImage = new PdfSignatureImage("IronPdf.png", 0, new Rectangle(150, 100, 350, 250));

        // Sign the existing PDF file and save the signed version
        sig.SignPdfFile("product_report.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
using IronSoftware.Drawing;

public class Program
{
    static void Main(string[] args)
    {
        // Load the certificate used for signing the PDF
        X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);

        // Create a PdfSignature instance and set the signature image
        var sig = new PdfSignature(cert);
        sig.SignatureImage = new PdfSignatureImage("IronPdf.png", 0, new Rectangle(150, 100, 350, 250));

        // Sign the existing PDF file and save the signed version
        sig.SignPdfFile("product_report.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Imports IronSoftware.Drawing

Public Class Program
	Shared Sub Main(ByVal args() As String)
		' Load the certificate used for signing the PDF
		Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable)

		' Create a PdfSignature instance and set the signature image
		Dim sig = New PdfSignature(cert)
		sig.SignatureImage = New PdfSignatureImage("IronPdf.png", 0, New Rectangle(150, 100, 350, 250))

		' Sign the existing PDF file and save the signed version
		sig.SignPdfFile("product_report.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Sortie PDF Sortie de signature numérique avec IronPDF

Pour cet exemple, nous avons chargé notre objet certificat, créé une représentation visuelle de la signature, ou dans notre cas l'image IronPDF , et créé un nouvel objet PdfSignature, qui gère la signature du document PDF lui-même. Enfin, nous avons utilisé le SignPdfFile pour signer et enregistrer notre document PDF.

Si vous souhaitez explorer plus de fonctionnalités qu'IronPDF a à offrir, assurez-vous de consulter sa page des fonctionnalités informative, ou les Guides pratiques qui contiennent des exemples de code détaillés pour chaque fonctionnalité.

Fonctionnalités clés d'iText7 (Avec exemples de code)

iText7 offre une large gamme de fonctionnalités pour personnaliser et améliorer vos documents PDF. Avec un support étendu des formats pour divers standards PDF et une manipulation avancée des PDF, cette bibliothèque PDF est riche en fonctionnalités. Cependant, comme mentionné précédemment, iText7 peut nécessiter des packages supplémentaires pour effectuer certaines tâches liées aux PDF telles que conversion HTML en PDF.

Conversion HTML en PDF

Bien qu'iText7 ne puisse pas gérer la conversion HTML en PDF, nous pouvons utiliser pdfHTML, un module complémentaire payant disponible sous la licence commerciale d'iText7, pour convertir le fichier HTML que nous avons utilisé dans notre exemple IronPDF en un document PDF.

using iText.Html2pdf;
using System.IO;

public class Program
{
    static void Main(string[] args)
    {
        // Open the HTML file stream
        using (FileStream htmlSource = File.Open("example.html", FileMode.Open))
        // Create the output PDF file stream
        using (FileStream pdf = File.Open("HtmlToPdfOutput.pdf", FileMode.Create))
        {
            // Initialize ConverterProperties for HTML to PDF conversion
            ConverterProperties converterProperties = new ConverterProperties();

            // Convert the HTML source to a PDF document
            HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties);

            // Close the PDF file
            pdf.Close();
        }
    }
}
using iText.Html2pdf;
using System.IO;

public class Program
{
    static void Main(string[] args)
    {
        // Open the HTML file stream
        using (FileStream htmlSource = File.Open("example.html", FileMode.Open))
        // Create the output PDF file stream
        using (FileStream pdf = File.Open("HtmlToPdfOutput.pdf", FileMode.Create))
        {
            // Initialize ConverterProperties for HTML to PDF conversion
            ConverterProperties converterProperties = new ConverterProperties();

            // Convert the HTML source to a PDF document
            HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties);

            // Close the PDF file
            pdf.Close();
        }
    }
}
Imports iText.Html2pdf
Imports System.IO

Public Class Program
	Shared Sub Main(ByVal args() As String)
		' Open the HTML file stream
		Using htmlSource As FileStream = File.Open("example.html", FileMode.Open)
		' Create the output PDF file stream
		Using pdf As FileStream = File.Open("HtmlToPdfOutput.pdf", FileMode.Create)
			' Initialize ConverterProperties for HTML to PDF conversion
			Dim converterProperties As New ConverterProperties()

			' Convert the HTML source to a PDF document
			HtmlConverter.ConvertToPdf(htmlSource, pdf, converterProperties)

			' Close the PDF file
			pdf.Close()
		End Using
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Sortie PDF iText7 Sortie HTML vers PDF

Pour cet exemple, nous avons chargé le fichier HTML et spécifié l'emplacement du fichier pour enregistrer le PDF rendu. Ensuite, en utilisant la méthode ConvertToPdf, nous pouvons facilement convertir le fichier HTML en document PDF.

URL en PDF

Puis, en utilisant la méthode ConvertToPdf, nous pouvons facilement convertir le fichier HTML en un document PDF. Maintenant, il est temps de comparer comment iText7 se mesure à IronPDF en ce qui concerne la conversion des URL en PDF.

using System;
using System.Net.Http;
using System.IO;
using iText.Html2pdf;

public class Program
{
    public static async System.Threading.Tasks.Task Main(string[] args)
    {
        string url = "https://www.apple.com";  // Replace with your target URL
        string outputPdfPath = "output.pdf";

        try
        {
            // Download HTML content from the URL
            using (HttpClient client = new HttpClient())
            {
                string htmlContent = await client.GetStringAsync(url);

                // Convert HTML to PDF
                using (FileStream pdfStream = new FileStream(outputPdfPath, FileMode.Create))
                {
                    ConverterProperties properties = new ConverterProperties();
                    HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties);
                }
            }

            Console.WriteLine("PDF created successfully: " + outputPdfPath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
using System;
using System.Net.Http;
using System.IO;
using iText.Html2pdf;

public class Program
{
    public static async System.Threading.Tasks.Task Main(string[] args)
    {
        string url = "https://www.apple.com";  // Replace with your target URL
        string outputPdfPath = "output.pdf";

        try
        {
            // Download HTML content from the URL
            using (HttpClient client = new HttpClient())
            {
                string htmlContent = await client.GetStringAsync(url);

                // Convert HTML to PDF
                using (FileStream pdfStream = new FileStream(outputPdfPath, FileMode.Create))
                {
                    ConverterProperties properties = new ConverterProperties();
                    HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties);
                }
            }

            Console.WriteLine("PDF created successfully: " + outputPdfPath);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
Imports System
Imports System.Net.Http
Imports System.IO
Imports iText.Html2pdf

Public Class Program
	Public Shared Async Function Main(ByVal args() As String) As System.Threading.Tasks.Task
		Dim url As String = "https://www.apple.com" ' Replace with your target URL
		Dim outputPdfPath As String = "output.pdf"

		Try
			' Download HTML content from the URL
			Using client As New HttpClient()
				Dim htmlContent As String = Await client.GetStringAsync(url)

				' Convert HTML to PDF
				Using pdfStream As New FileStream(outputPdfPath, FileMode.Create)
					Dim properties As New ConverterProperties()
					HtmlConverter.ConvertToPdf(htmlContent, pdfStream, properties)
				End Using
			End Using

			Console.WriteLine("PDF created successfully: " & outputPdfPath)
		Catch ex As Exception
			Console.WriteLine("Error: " & ex.Message)
		End Try
	End Function
End Class
$vbLabelText   $csharpLabel

Sortie PDF iText7 URL vers sortie PDF

Comme on le voit ici, l'approche d'iText7 pour la conversion d'URL en PDF est plus manuelle et complexe. Tout d'abord, nous devons télécharger le contenu HTML depuis l'URL, avant de suivre des étapes similaires à celles vues dans l'exemple HTML vers PDF pour rendre notre contenu d'URL en un document PDF et l'enregistrer. Comme vous pouvez le voir dans l'image de sortie, iText7 n'a pas pu maintenir beaucoup de la mise en forme et de la disposition originales, contrairement à IronPDF.

Signatures PDF

using System.Security.Cryptography.X509Certificates;
using iText.Kernel.Pdf;
using iText.Signatures;
using iText.Bouncycastle.Crypto;
using iText.Commons.Bouncycastle.Cert;
using iText.Commons.Bouncycastle.Crypto;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.Crypto;
using iText.Bouncycastle.X509;
using iText.Kernel.Crypto;
using System.IO;

public class Program
{
    static void Main(string[] args)
    {
        string inputPdf = "input.pdf";       // PDF to be signed
        string outputPdf = "signed_output.pdf";  // Signed PDF output
        string pfxFile = "IronSoftware.pfx";  // Path to your PFX certificate
        string password = "Passw0rd";   // Password for PFX file

        try
        {
            // Load your certificate
            Pkcs12Store ks = new Pkcs12StoreBuilder().Build();
            using (FileStream fs = new FileStream(pfxFile, FileMode.Open, FileAccess.Read))
            {
                ks.Load(fs, password.ToCharArray());
            }

            string alias = null;
            foreach (string al in ks.Aliases)
            {
                if (ks.IsKeyEntry(al))
                {
                    alias = al;
                    break;
                }
            }

            if (alias == null)
            {
                throw new Exception("Alias not found in the PFX file.");
            }

            ICipherParameters pk = ks.GetKey(alias).Key;
            X509CertificateEntry[] chain = ks.GetCertificateChain(alias);

            // Convert BouncyCastle certificates to iText certificates
            var itextCertChain = new IX509Certificate[chain.Length];
            for (int i = 0; i < chain.Length; i++)
            {
                itextCertChain[i] = new X509CertificateBC(chain[i].Certificate);
            }

            // Create output PDF with signed content
            using (PdfReader reader = new PdfReader(inputPdf))
            using (FileStream os = new FileStream(outputPdf, FileMode.Create, FileAccess.Write))
            {
                PdfSigner signer = new PdfSigner(reader, os, new StampingProperties().UseAppendMode());

                // Set up the external signature (private key + digest algorithm)
                IPrivateKey iTextPrivateKey = new PrivateKeyBC(pk);
                IExternalSignature pks = new PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256);
                IExternalDigest digest = new BouncyCastleDigest();

                // Perform the signing (detached signature)
                signer.SignDetached(digest, pks, itextCertChain, null, null, null, 0, PdfSigner.CryptoStandard.CMS);
            }

            Console.WriteLine($"PDF digitally signed successfully: {outputPdf}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error signing PDF: {ex.Message}");
        }
    }
}
using System.Security.Cryptography.X509Certificates;
using iText.Kernel.Pdf;
using iText.Signatures;
using iText.Bouncycastle.Crypto;
using iText.Commons.Bouncycastle.Cert;
using iText.Commons.Bouncycastle.Crypto;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.Crypto;
using iText.Bouncycastle.X509;
using iText.Kernel.Crypto;
using System.IO;

public class Program
{
    static void Main(string[] args)
    {
        string inputPdf = "input.pdf";       // PDF to be signed
        string outputPdf = "signed_output.pdf";  // Signed PDF output
        string pfxFile = "IronSoftware.pfx";  // Path to your PFX certificate
        string password = "Passw0rd";   // Password for PFX file

        try
        {
            // Load your certificate
            Pkcs12Store ks = new Pkcs12StoreBuilder().Build();
            using (FileStream fs = new FileStream(pfxFile, FileMode.Open, FileAccess.Read))
            {
                ks.Load(fs, password.ToCharArray());
            }

            string alias = null;
            foreach (string al in ks.Aliases)
            {
                if (ks.IsKeyEntry(al))
                {
                    alias = al;
                    break;
                }
            }

            if (alias == null)
            {
                throw new Exception("Alias not found in the PFX file.");
            }

            ICipherParameters pk = ks.GetKey(alias).Key;
            X509CertificateEntry[] chain = ks.GetCertificateChain(alias);

            // Convert BouncyCastle certificates to iText certificates
            var itextCertChain = new IX509Certificate[chain.Length];
            for (int i = 0; i < chain.Length; i++)
            {
                itextCertChain[i] = new X509CertificateBC(chain[i].Certificate);
            }

            // Create output PDF with signed content
            using (PdfReader reader = new PdfReader(inputPdf))
            using (FileStream os = new FileStream(outputPdf, FileMode.Create, FileAccess.Write))
            {
                PdfSigner signer = new PdfSigner(reader, os, new StampingProperties().UseAppendMode());

                // Set up the external signature (private key + digest algorithm)
                IPrivateKey iTextPrivateKey = new PrivateKeyBC(pk);
                IExternalSignature pks = new PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256);
                IExternalDigest digest = new BouncyCastleDigest();

                // Perform the signing (detached signature)
                signer.SignDetached(digest, pks, itextCertChain, null, null, null, 0, PdfSigner.CryptoStandard.CMS);
            }

            Console.WriteLine($"PDF digitally signed successfully: {outputPdf}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error signing PDF: {ex.Message}");
        }
    }
}
Imports System.Security.Cryptography.X509Certificates
Imports iText.Kernel.Pdf
Imports iText.Signatures
Imports iText.Bouncycastle.Crypto
Imports iText.Commons.Bouncycastle.Cert
Imports iText.Commons.Bouncycastle.Crypto
Imports Org.BouncyCastle.Pkcs
Imports Org.BouncyCastle.Crypto
Imports iText.Bouncycastle.X509
Imports iText.Kernel.Crypto
Imports System.IO

Public Class Program
	Shared Sub Main(ByVal args() As String)
		Dim inputPdf As String = "input.pdf" ' PDF to be signed
		Dim outputPdf As String = "signed_output.pdf" ' Signed PDF output
		Dim pfxFile As String = "IronSoftware.pfx" ' Path to your PFX certificate
		Dim password As String = "Passw0rd" ' Password for PFX file

		Try
			' Load your certificate
			Dim ks As Pkcs12Store = (New Pkcs12StoreBuilder()).Build()
			Using fs As New FileStream(pfxFile, FileMode.Open, FileAccess.Read)
				ks.Load(fs, password.ToCharArray())
			End Using

			Dim [alias] As String = Nothing
			For Each al As String In ks.Aliases
				If ks.IsKeyEntry(al) Then
					[alias] = al
					Exit For
				End If
			Next al

			If [alias] Is Nothing Then
				Throw New Exception("Alias not found in the PFX file.")
			End If

			Dim pk As ICipherParameters = ks.GetKey([alias]).Key
			Dim chain() As X509CertificateEntry = ks.GetCertificateChain([alias])

			' Convert BouncyCastle certificates to iText certificates
			Dim itextCertChain = New IX509Certificate(chain.Length - 1){}
			For i As Integer = 0 To chain.Length - 1
				itextCertChain(i) = New X509CertificateBC(chain(i).Certificate)
			Next i

			' Create output PDF with signed content
			Using reader As New PdfReader(inputPdf)
			Using os As New FileStream(outputPdf, FileMode.Create, FileAccess.Write)
				Dim signer As New PdfSigner(reader, os, (New StampingProperties()).UseAppendMode())

				' Set up the external signature (private key + digest algorithm)
				Dim iTextPrivateKey As IPrivateKey = New PrivateKeyBC(pk)
				Dim pks As IExternalSignature = New PrivateKeySignature(iTextPrivateKey, DigestAlgorithms.SHA256)
				Dim digest As IExternalDigest = New BouncyCastleDigest()

				' Perform the signing (detached signature)
				signer.SignDetached(digest, pks, itextCertChain, Nothing, Nothing, Nothing, 0, PdfSigner.CryptoStandard.CMS)
			End Using
			End Using

			Console.WriteLine($"PDF digitally signed successfully: {outputPdf}")
		Catch ex As Exception
			Console.WriteLine($"Error signing PDF: {ex.Message}")
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

Sortie PDF Sortie de signature numérique iText7

Comme vous pouvez le voir, bien qu'iText7 soit capable de signer numériquement des documents PDF, le processus a tendance à être beaucoup plus complexe qu'avec IronPDF. Ce code charge un certificat PFX et l'utilise pour signer numériquement un PDF. Il extrait la clé privée et le certificat, configure le signataire et ajoute une signature détachée au PDF, puis enregistre le document signé.

Analyse Concurrentielle

Performance et Utilisabilité

Avantages Clés d'IronPDF

IronPDF est reconnu pour sa facilité d'utilisation et son optimisation pour des performances élevées, offrant une API plus simple qui simplifie les tâches courantes telles que la conversion HTML en PDF. Il fournit des méthodes de haut niveau qui abstraient les tâches de traitement PDF complexes, permettant aux développeurs de générer, éditer et manipuler des PDFs avec un code minimal. Pour le traitement de documents multi-thread ou à grande échelle, IronPDF prend en charge l'exécution parallèle.

  • API facile à utiliser – Les méthodes de haut niveau simplifient les tâches courantes comme la conversion HTML en PDF.
  • Configuration minimale requise – S'intègre facilement dans les projets .NET.
  • Exécution parallèle intégrée – Optimisé pour gérer la génération et la conversion de PDF en masse.
  • Exécution parallèle intégrée – Optimisée pour la génération et conversion en masse de PDF.

  • API simplifiée – Nécessite moins de lignes de code pour obtenir des résultats.

iText 7 – Puissant mais complexe Il fournit une API robuste pour travailler avec des opérations PDF de bas niveau. Cependant, en raison de sa complexité, iText 7 nécessite souvent plus de code pour obtenir des résultats similaires par rapport à IronPDF.

  • Contrôle granulaire des PDF – Idéal pour les applications d'entreprise nécessitant une conformité stricte (par exemple, PDF/A, PDF/UA, signatures numériques).
  • Contrôle granulaire des PDF – Idéal pour les applications d'entreprise nécessitant une conformité stricte (par exemple, PDF/A, PDF/UA, signatures numériques).
  • Cours d'apprentissage plus raide – Nécessite plus de configuration et de mise en place par rapport à IronPDF.
  • Plus intensif en code – Les tâches courantes nécessitent souvent des implémentations plus longues.

Licences et Coûts

Lors de la sélection d'une bibliothèque PDF pour un projet .NET, les considérations relatives à la licence et au coût sont critiques. IronPDF et iText 7 utilisent des modèles de licence différents, et le choix du modèle approprié dépend des exigences de votre projet, de votre budget et de vos besoins de conformité.

Licence et coût IronPDF

IronPDF suit un modèle de licence commerciale, ce qui signifie que bien qu'il offre un essai gratuit pour une licence commerciale, et qu'il est gratuit pour le développement et l'évaluation, une licence payante est requise pour un usage en production complet. Le prix est transparent et dépend de facteurs tels que l'échelle d'utilisation, le nombre de développeurs et le type de projet.

Licences IronPDF :

  • Modèle de licence commerciale (Pas de restrictions sur les sources ouvertes).
  • Modèle de licence commerciale (Pas de restrictions open-source).
  • Aucun coût supplémentaire pour HTML vers PDF, sécurité PDF ou autres fonctionnalités essentielles.
  • Idéal pour les entreprises qui ont besoin d'une solution PDF simple et rentable.

Conclusion : IronPDF comprend toutes les fonctionnalités principales dans une seule licence, ce qui en fait un choix rentable pour les équipes et les entreprises.

Licences et coûts d'iText7

iText7 fonctionne sous un modèle de licence dual, qui comprend :

  1. AGPL (GNU Affero General Public License) – Gratuit pour les projets open-source, mais nécessite que l'ensemble du projet utilisant iText7 soit open-source et conforme à l'AGPL. Cela signifie que toutes les modifications ou ajouts apportés au projet doivent également être partagés publiquement.
  2. Licence Commerciale – Requise pour tout logiciel propriétaire ou applications commerciales ne souhaitant pas divulguer leur code source. 2. Licence commerciale – Requise pour tout logiciel propriétaire ou application commerciale qui ne souhaite pas divulguer son code source.

La structure tarifaire varie en fonction de l'utilisation, du niveau de support et de l'échelle de déploiement. Pour les entreprises cherchant à intégrer iText 7 dans un logiciel propriétaire, une licence commerciale est obligatoire.

Pourquoi iText 7 Peut Être Plus Coûteux :

Pourquoi iText 7 peut être plus cher :

  • Les fonctionnalités essentielles nécessitent des options supplémentaires coûteuses :
  • Les fonctionnalités essentielles nécessitent des add-ons coûteux :
    • pdfOCR (Payant) – Nécessaire pour la reconnaissance de texte à partir d'images.
    • pdfCalligraph (Payant) – Améliore le rendu du texte et le support des polices.
    • pdfRender (Payant) – Ajoute la conversion PDF en image.
    • pdf2Data (Payant) – Extrait des données structurées à partir des PDFs.
  • Les coûts d'entreprise peuvent rapidement s'accumuler lorsque plusieurs fonctionnalités et développeurs sont nécessaires.

Conclusion : Si votre équipe nécessite plusieurs développeurs et des fonctionnalités clés telles que la conversion HTML en PDF et l'OCR, iText 7 peut être significativement plus coûteux qu'IronPDF, qui offre ces fonctionnalités sans coûts supplémentaires.

Conclusion : Si votre équipe nécessite plusieurs développeurs et des fonctionnalités clés comme HTML en PDF et OCR, iText 7 peut être significativement plus coûteux qu'IronPDF, qui inclut ces fonctionnalités sans coûts supplémentaires.

Projets petits vs. d'entreprise

Pour des projets de petite à moyenne taille nécessitant une mise en œuvre rapide des fonctionnalités PDF avec une configuration minimale, IronPDF est un choix convaincant en raison de son API conviviale et de son ensemble de fonctionnalités complet. Pour les petits projets ou les projets de taille moyenne nécessitant une implémentation rapide de fonctionnalités PDF avec une configuration minimale, IronPDF est un choix convaincant en raison de son API conviviale et de son ensemble de fonctionnalités complet.

Utilisation académique et commerciale

Dans les milieux académiques ou les projets open-source, la licence AGPL d'iText 7 permet une utilisation gratuite, à condition que la licence du projet soit compatible. Pour les applications commerciales, à la fois IronPDF et iText 7 nécessitent l'achat d'une licence commerciale. Il est conseillé de passer en revue les conditions de licence de chaque bibliothèque pour garantir leur conformité avec les objectifs de votre projet.

Conclusion

Choisir la bonne bibliothèque PDF pour votre projet .NET est une décision cruciale qui dépend de facteurs tels que la facilité d'utilisation, l'ensemble des fonctionnalités et les besoins en licence. IronPDF et iText 7 offrent tous deux des capacités PDF puissantes, mais répondent à des exigences différentes. Au-delà de ces deux bibliothèques, des concurrents tels qu'Aspose, Syncfusion et PDFSharp offrent tous des bibliothèques PDF .NET compétitives. Cependant, IronPDF reste constamment en tête dans l'industrie PDF avec son API facile à utiliser, son ensemble complet de fonctionnalités et son efficacité économique.

Ci-dessous, nous avons résumé un argument convaincant sur pourquoi IronPDF est un excellent choix pour tous vos besoins en bibliothèques PDF .NET.

 Comparaison IronPDF vs iText7

Avantages d'IronPDF

  • Facilité d'utilisation : IronPDF est conçu avec un accent sur la simplicité, ce qui en fait un choix idéal pour les développeurs qui doivent intégrer rapidement des fonctionnalités PDF dans leurs applications .NET. Son API intuitive réduit la courbe d'apprentissage et accélère le temps de développement.
  • Documentation et support complets : IronPDF offre une documentation détaillée et un support client réactif, garantissant que les développeurs peuvent se mettre à jour rapidement et résoudre efficacement les problèmes.
  • Conversion HTML en PDF sans couture : IronPDF excelle dans la conversion HTML, y compris CSS et JavaScript, en PDF de haute qualité. Cela est particulièrement bénéfique pour les projets qui doivent générer des PDF dynamiquement à partir de contenu web.
  • Licences commerciales : Pour les applications commerciales, IronPDF fournit des options de licence flexibles, garantissant la conformité sans les restrictions qui peuvent accompagner les licences open-source.

Limitations d'iText

  • Complexité : Bien qu'iText 7 offre des fonctionnalités avancées et une personnalisation, son API peut être complexe pour les développeurs novices en manipulation PDF. Cela peut conduire à des temps de développement plus longs pour des tâches courantes par rapport à l'approche plus simple d'IronPDF.
  • Coûts de licence pour une utilisation commerciale : La licence AGPL d'iText 7 exige que toute œuvre dérivée soit open-source, à moins que vous n'achetiez une licence commerciale. Cela pourrait être une limitation pour les applications propriétaires qui ne peuvent pas se conformer aux termes de l'AGPL.
  • Fonctionnalités centrées sur Java : Bien qu'iText 7 soit disponible pour .NET, ses racines dans l'écosystème Java peuvent parfois le faire paraître moins natif pour les développeurs C#, surtout lorsqu'il s'agit de problèmes multiplateformes ou d'intégration avec des outils basés sur Java.

Réflexions Finales

  • Caractéristiques centrées sur Java : Bien qu'iText 7 soit disponible pour .NET, ses racines dans l'écosystème Java peuvent parfois le faire paraître moins natif pour les développeurs C#, en particulier lors de la gestion de problèmes multiplateformes ou de l'intégration avec des outils basés sur Java. Tenez compte des exigences spécifiques de votre projet et des contraintes de licence pour déterminer la bibliothèque la mieux adaptée à vos besoins.

Essayez IronPDF dès aujourd'hui : téléchargez la version d'essai gratuite pour commencer à explorer par vous-même les puissantes fonctionnalités d'IronPDF !

Veuillez noteriText 7 est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé ou sponsorisé par iText 7. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quelles sont les principales différences entre IronPDF et iText 7 ?

IronPDF offre une conversion HTML-en-PDF fluide et un modèle de licence commerciale simple, tandis qu'iText 7 nécessite un module complémentaire payant pour la conversion HTML-en-PDF et suit un modèle de licence double. IronPDF est connu pour sa facilité d'utilisation, tandis qu'iText 7 propose une manipulation PDF avancée mais avec une courbe d'apprentissage plus raide.

Pourquoi devrais-je choisir IronPDF pour mes projets .NET ?

IronPDF est idéal pour les implémentations PDF rapides et économiques, offrant facilité d'utilisation, documentation complète et conversion HTML-en-PDF intégrée sans coûts supplémentaires. Il prend en charge plusieurs versions .NET et propose des fonctionnalités étendues comme l'édition et la sécurité des PDF.

IronPDF est-il adapté pour générer des documents PDF complexes ?

Oui, IronPDF prend en charge la génération de documents PDF complexes avec des fonctionnalités telles que le remplissage de formulaires, les annotations et l'extraction de données. Ses capacités étendues le rendent adapté à une variété d'applications PDF professionnelles.

Quelles sont les options de licence disponibles pour IronPDF ?

IronPDF suit un modèle de licence commerciale, nécessitant une licence payante pour l'utilisation en production. Ce modèle simple élimine les complexités associées aux systèmes de double licence comme ceux d'iText 7.

IronPDF peut-il être intégré dans des projets .NET Core ?

Oui, IronPDF peut être intégré dans des projets .NET Core. Il prend en charge .NET Core, .NET Framework et .NET Standard, ce qui le rend polyvalent pour divers environnements de développement.

Comment IronPDF gère-t-il les fonctionnalités de sécurité des PDF ?

IronPDF offre des fonctionnalités de sécurité PDF robustes, incluant le chiffrement, la protection par mot de passe et les signatures numériques, qui aident à sécuriser les informations sensibles des documents.

Qu'est-ce qui rend IronPDF convivial par rapport à d'autres bibliothèques ?

IronPDF est considéré comme convivial grâce à son API simple, ses exigences de configuration minimales et sa documentation complète, ce qui le rend facile à mettre en œuvre même pour les développeurs ayant une expérience limitée dans la génération de PDF.

Y a-t-il des coûts supplémentaires pour utiliser la conversion HTML-en-PDF dans IronPDF ?

Non, IronPDF inclut des capacités de conversion HTML-en-PDF intégrées, éliminant le besoin de composants ou coûts supplémentaires, contrairement à certaines autres bibliothèques PDF qui nécessitent des modules complémentaires payants.

Comment IronPDF se compare-t-il en termes de performance et de vitesse ?

IronPDF est optimisé pour la performance et la vitesse, offrant une génération et une manipulation de PDF rapides et fiables, ce qui est crucial pour les applications qui traitent de grands volumes de PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi