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

iTextSharp C# HTML to PDF Alternative for .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 vs iTextSharp / iText7

Comparaison complète de bibliothèques PDF .NET — fonctionnalité par fonctionnalité avec contexte basé sur 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
HTML/CSS en PDF $ Paid Add-on
HTML→PDF via l'add-on `pdfHTML` (paquet séparé ; modèle AGPL/commercial).
✓ Yes
Moteur basé sur Chromium avec rendu CSS3, Flexbox et Grid intégré au pixel près.
Exécution de JavaScript ? Unknown
pdfHTML décrit la conversion HTML/CSS→PDF, mais le support de l'exécution JS n'est pas mentionné dans la documentation.
✓ Yes
Exécute entièrement le JS lors du rendu — graphiques dynamiques, SPA et contenu interactif.
Génération programmatique ✓ Yes
Positionné comme un SDK PDF programmable for .NET — créer, modifier et améliorer.
✓ Yes
Générer à partir de modèles HTML, chaînes, vues ASPX ou images. Chromium gère la mise en page.
URL en PDF $ Paid Add-on
Possible via l'add-on pdfHTML avec récupération d'URL, mais pas une fonctionnalité de base.
✓ Yes
`RenderUrlAsPdf()` capture n'importe quelle URL en direct avec rendu complet CSS/JS.
DOCX en PDF ✕ No
Pas de 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 plusieurs stratégies d'extraction.
✓ Yes
Extrait le texte avec conscience de la mise en page. Combine avec IronOCR pour les documents numérisés.
Rendre les pages en images ? Unknown
Les flux de travail OCR mentionnent le rendu, mais un module "rendu PDF→image de source principale" n'est pas prouvé dans les documents iText cités.
✓ Built-in
Rasterisation native en PNG, JPEG, BMP avec DPI configurable.
OCR intégré $ Paid Add-on
Add-on pdfOCR disponible ; les notes d'installation mentionnent des dépendances natives/spécifiques à la plateforme (par exemple, exigences d'exécution Linux/macOS).
✓ Via IronOCR
Intégration native avec IronOCR pour l'OCR dans plus de 127 langues sur les PDF numérisés.
Editing & Manipulation
Merging & Splitting ✓ Yes
`PdfMerger` classe dans l'API .NET ; des exemples officiels discutent la fusion via PdfMerger.
✓ Yes
Fusionner, séparer, ajouter, précéder et réorganiser les pages en une ligne avec une API intuitive.
Headers, Footers & Page Numbers ✓ Yes
La liste de l'Association PDF confirme la capacité d'ajouter des "numéros de page" et des fonctionnalités similaires aux PDF existants.
✓ Yes
En-têtes/pieds de page basés sur HTML avec numéros de page auto, dates et contenu personnalisé.
Filigranes ✓ Yes
La liste de l'Association PDF inclut explicitement "les filigranes … aux documents PDF existants."
✓ Yes
`ApplyWatermark()` accepte le HTML/CSS — contrôle total sur l'opacité, la rotation, la position.
Stamp Text & Images ✓ Yes
Placement de contenu programmatique disponible via les APIs canvas et layout d'iText.
✓ Yes
`TextStamper` & `ImageStamper` avec Google Fonts, positionnement, contrôle par page.
Biffer du contenu ✓ Yes
iText fournit le support d'annotation de redaction via le module de nettoyage.
✓ Yes
`RedactTextOnAllPages()` supprime définitivement le texte sensible en une seule ligne.
Security & Compliance
Encryption & Passwords ✓ Yes
Chiffrement complet et contrôles de permission 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 support des certificats X509/PFX.
PDF/A & PDF/UA Compliance ✓ Yes
La documentation couvre la création de PDF/A et explique les contraintes (la conversion à partir de documents existants n'est pas automatique).
✓ Yes
Archivage PDF/A natif et conformité accessibilité PDF/UA pour une utilisation en entreprise.
Platform & Deployment
Support multiplateforme ✓ Yes
.NET Standard 2.0 / .NET Framework 4.6.1 — fonctionne sur .NET 6+ sur plusieurs OS.
✓ 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 add-ons (pdfHTML/pdfOCR) ajoutent d'autres dépendances/étapes de conformité.
✓ 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écessite des add-ons supplémentaires et parfois des dépendances natives.
✓ Simple
Une seule commande NuGet `Install-Package IronPdf`. Prêt en quelques minutes.
Licensing & Support
Modèle de licence ~ Complex
Double licence : AGPLv3 (obligations de divulgation de code source pour l'utilisation en réseau) ou commercial. L'AGPL peut être restrictif pour les applications propriétaires.
✓ Commercial
Licences perpétuelles. Essai gratuit pleinement fonctionnel de 30 jours, sans filigrane.
Commercial Support & SLA ✓ Yes
Le site iText inclut des licences commerciales + des accords de support dans le cadre de son modèle de licence.
✓ 24/5 Support
Support en ingénierie dédié 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 (core + add-ons).
✓ Extensive
Référence complète de l'API, 100+ tutoriels pratiques, exemples de code, dépannage, vidéos.

Données provenant de la documentation officielle d'iText, liste de l'Association PDF, et références de paquets NuGet.
iText7 est puissant mais entraîne la complexité de la licence AGPL et la surcharge liée à l'installation multi-paquets.
IronPDF offre une couverture complète avec une installation simplifiée — essayez 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 for Java, avec un support C# via iText 7 for .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.

Schéma de conversion HTML en 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");
    }
}
$vbLabelText   $csharpLabel

Entrée HTML Contenu HTML d'entrée

Sortie PDF Sortie HTML en PDF using IronPDF

Dans cet exemple de code, nous avons d'abord créé une nouvelle instance ChromePdfRenderer, ce qui nous donne accès au puissant moteur de rendu qu'IronPDF utilise pour rendre le HTML en PDF. Ensuite, nous passons un fichier HTML à la méthode RenderHtmlFileAsPdf(), qui à son tour rend 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");
    }
}
$vbLabelText   $csharpLabel

Sortie PDF : Sortie URL en PDF using IronPDF

Tout comme dans notre exemple HTML en PDF, la première étape pour convertir une URL en PDF using IronPDF est de d'abord créer une nouvelle instance ChromePdfRenderer. Une fois que la méthode a rendu le contenu URL en 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");
    }
}
$vbLabelText   $csharpLabel

Sortie PDF Sortie Signature Numérique using IronPDF

Pour cet exemple, nous avons chargé notre objet de 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();
        }
    }
}
$vbLabelText   $csharpLabel

Sortie PDF Sortie HTML en PDF iText7

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);
        }
    }
}
$vbLabelText   $csharpLabel

Sortie PDF Sortie URL en PDF iText7

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}");
        }
    }
}
$vbLabelText   $csharpLabel

Sortie PDF Sortie 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. Tant IronPDF qu'iText 7 suivent des modèles de licence différents, et le choix de l'un ou l'autre dépend des exigences de votre projet, de votre budget et de vos besoins en matière de conformité.

Licences et Coût d'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 add-ons coûteux :
  • 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.

Usage Académique et Commercial

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.

Aperçu de la 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 for .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 for .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. Considérez les exigences spécifiques de votre projet et les contraintes de licence pour déterminer la meilleure bibliothèque pour vos besoins.

Essayer IronPDF dès aujourd'hui : Téléchargez l'essai gratuit pour commencer à explorer les puissantes fonctionnalités d'IronPDF vous-même !

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me