COMPARAISON

PdfPig vs IronPDF : Guide de comparaison technique

PdfPigvsIronPDF: Bibliothèque de lecture PDF vs Solution PDF complète en .NET

Lorsque les développeurs .NET travaillent avec des fichiers PDF, ils recherchent souvent des bibliothèques qui gèrent des tâches complexes telles que la lecture, l'extraction et la génération de documents PDF. Parmi les options disponibles, pdfpig s'est imposé comme un outil spécialisé axé principalement sur la lecture et l'extraction de contenu à partir de fichiers PDF. Cette comparaison examine pdfpig aux côtés d'IronPDF, en analysant leurs différences architecturales, l'exhaustivité de leurs fonctionnalités et leur adéquation aux différentes exigences des applications.

Qu'est-ce que PdfPig?

PdfPig est une bibliothèque open-source de lecture et d'extraction de PDF spécialement conçue pour C#. La bibliothèque permet aux développeurs d'accéder au contenu PDF avec précision, en fournissant des outils pour extraire du texte, des images, des données de formulaire et des métadonnées des fichiers PDF. Sous licence Apache 2.0, pdfpig est à la fois open source et business-friendly, offrant la liberté de modifier et de distribuer le logiciel dans le cadre d'applications propriétaires.

Bien que pdfpig excelle dans les capacités d'extraction, son champ d'application est fondamentalement limité à l'analyse de documents existants. La bibliothèque ne peut pas créer de PDF à partir de HTML, d'URL ou de programmes ; elle se concentre exclusivement sur la lecture de ce qui existe déjà.

Les principales caractéristiques de pdfpig sont les suivantes

  • Focus lecture seule : Conçu spécifiquement pour l'analyse et l'extraction de fichiers PDF
  • <Source ouverte : Licence Apache 2.0 sans frais de licence
  • Extraction de texte avec données de position : Extraction précise de texte avec données de position et traitement méticuleux des polices de caractères
  • Analyse au niveau du mot : Fournit des boîtes de délimitation de mots pour l'analyse de la mise en page
  • <Pure .NET : pas de dépendances natives, fonctionne partout où .NET s'exécute
  • Indexation des pages en 1 : L'accès aux pages se fait par le biais d'une indexation basée sur 1

Qu'est-ce qu'IronPDF?

IronPDF est une bibliothèque .NET complète qui permet de gérer l'intégralité du cycle de vie des PDF. La classe ChromePdfRenderer utilise un moteur moderne basé sur Chromium pour la conversion de HTML en PDF, tandis que la classe PdfDocument offre des capacités de manipulation et d'extraction étendues.

Contrairement à pdfpig qui se concentre uniquement sur la lecture,IronPDFprend en charge à la fois la génération et l'extraction de PDF, ce qui en fait une option flexible pour diverses tâches liées aux PDF. La bibliothèque gère la création à partir de HTML et d'URL, l'extraction de texte, la manipulation de documents, la fusion, le filigrane, les fonctions de sécurité et les signatures numériques, le tout au sein d'une seule et même bibliothèque.

Comparaison d'architecture

La différence fondamentale entre pdfpig et IronPdf réside dans leur champ d'application : lecture seule contre gestion complète du cycle de vie des PDF.

Aspect PdfPig IronPDF
Accent principal Lecture/Extraction Cycle de vie complet du PDF
Création de PDF Très limité Complet
HTML à PDF Non pris en charge Moteur Chromium complet
URL vers PDF Non pris en charge Prise en charge complète
Extraction de texte Excellente Excellente
Extraction d'images Oui Oui
Accès aux métadonnées Oui Oui
Manipulation de PDF Non pris en charge Fusionner, diviser, faire pivoter
Marqueurs d'eau Non pris en charge Prise en charge complète
Sécurité/Cryptage Non pris en charge Prise en charge complète
Remplissage de formulaires Non pris en charge Prise en charge complète
Signatures numériques Non pris en charge Prise en charge complète
Indexation des pages basé sur 1 basé sur 0
Licence Apache 2.0 (gratuit) Commercial
Support Communauté Professional

Pour les applications ne nécessitant que la lecture de PDF et l'extraction de texte, pdfpig offre d'excellentes capacités. Pour les applications nécessitant la génération de PDF, la manipulation de documents ou toute autre capacité de création,IronPDFconstitue une solution complète.

Comparaison de l'extraction de texte

L'extraction de texte démontre les points forts des deux bibliothèques dans ce flux de travail commun, avec des différences notables dans la conception de l'API.

Approche d'extraction de texte de PdfPig:

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Approche d'extraction de texte IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PdfPig nécessite une déclaration using pour une élimination correcte, une itération à travers les pages via GetPages(), et une agrégation manuelle du texte avec StringBuilder. La propriété page.Textfournit le contenu textuel de chaque page.

La méthode ExtractAllText() d'IronPDF extrait tout le texte de toutes les pages en un seul appel, sans nécessiter d'itération manuelle ou de motifs d'élimination. Pour l'extraction page par page,IronPDFfournit ExtractTextFromPage(index). Notez la différence d'API : pdfpig utilise PdfDocument.Open() tandis qu'IronPDF utilise PdfDocument.FromFile().

Conversion HTML en PDF

La conversion de HTML en PDF démontre l'écart fondamental entre les capacités de ces bibliothèques.

L'approche HTML-PDF de PdfPig:

// PdfPigdoes not support HTML to PDF conversion
// PdfPigis a PDF reading/parsing library, not a PDF generation library
// You would need to use a different library for HTML to PDF conversion
// PdfPigdoes not support HTML to PDF conversion
// PdfPigis a PDF reading/parsing library, not a PDF generation library
// You would need to use a different library for HTML to PDF conversion
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

L'approcheIronPDFHTML-to-PDF:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PdfPig ne peut pas créer de PDF à partir de HTML - cette fonctionnalité n'est tout simplement pas prise en charge. La bibliothèque est conçue exclusivement pour lire et analyser des documents PDF existants, et non pour en générer de nouveaux.

Le ChromePdfRenderer d'IronPDF utilise un moteur Chromium moderne pour convertir le contenu HTML avec une prise en charge complète de CSS3 et de JavaScript, produisant ainsi une sortie PDF de haute fidélité à partir de contenu web. Pour obtenir des conseils détaillés sur les modèles de conversion de HTML en PDF, consultez le tutoriel HTML en PDF.

Accès aux métadonnées du PDF

La lecture des métadonnées des PDF montre des capacités similaires avec des modèles d'API différents.

Lecture des métadonnées de PdfPig:

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Lecture des métadonnées IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Les deux bibliothèques permettent d'accéder aux propriétés standard des métadonnées PDF. PdfPigutilise document.Information tandis qu'IronPDF utilise pdf.MetaData. Le nombre de pages est accessible via document.NumberOfPagesdans pdfpig contre pdf.PageCountdans IronPDF.

Référence de mappage d'API

Pour les équipes qui évaluent la migration de pdfpig vers IronPDF, la compréhension des mappages d'API permet d'estimer l'effort de développement.

Chargement du document

PdfPig IronPDF Notes
PdfDocument.Open(path) PdfDocument.FromFile(path) Charger à partir d'un fichier
PdfDocument.Open(bytes) PdfDocument.FromBinaryData(bytes) Chargement à partir d'octets
PdfDocument.Open(stream) PdfDocument.FromStream(stream) Charger à partir du flux
utilisant (var doc = ...) var pdf = ... IronPDFne nécessite pas l'utilisation de

Accès à la page

PdfPig IronPDF Notes
document.NumberOfPages pdf.PageCount Nombre total de pages
document.GetPages() pdf.Pages Collection de pages
document.GetPage(1) pdf.Pages[0] Première page (base 1 vs base 0)
page.Text pdf.Pages[i].Text Texte de la page
page.GetWords() pdf.ExtractTextFromPage(i) Extraction de texte

Métadonnées

PdfPig IronPDF Notes
document.Information.Titre pdf.MetaData.Title Titre du document
document.Information.Auteur pdf.MetaData.Author L'auteur
document.Information.Subject pdf.MetaData.Subject Sujet
document.Information.Creator pdf.MetaData.Creator Créateur
document.Information.Producer pdf.MetaData.Producer Producteur

Caractéristiques non disponibles dans PdfPig

Fonctionnalité d'IronPDF Description du projet
renderer.RenderHtmlAsPdf(html) Créer un PDF à partir de HTML
renderer.RenderUrlAsPdf(url) Créer un PDF à partir d'une URL
PdfDocument.Merge(pdfs) Combiner plusieurs PDF
pdf.CopyPages(start, end) Extraire des pages spécifiques
pdf.ApplyWatermark(html) Ajouter des filigranes
pdf.SecuritySettings.UserPassword Protection par mot de passe
pdf.Sign(certificate) Signatures numériques
pdf.Form.GetFieldByName(name).Value Remplissage de formulaires

Ces fonctionnalités supplémentaires d'IronPDF vont au-delà de la lecture pour offrir une gestion complète du cycle de vie des PDF. Pour les fonctionnalités de manipulation des PDF, voir le guide fusionner et diviser des PDF.

Différence d'indexation des pages

Une différence essentielle pour la migration : pdfpig utilise une indexation des pages basée sur 1 alors qu'IronPDF utilise une indexation basée sur 0.

PdfPig page access:

// PdfPig: basé sur 1indexing
var firstPage = document.GetPage(1);  // First page
var secondPage = document.GetPage(2); // Second page
// PdfPig: basé sur 1indexing
var firstPage = document.GetPage(1);  // First page
var secondPage = document.GetPage(2); // Second page
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Accès aux pages IronPDF:

// IronPDF: basé sur 0indexing
var firstPage = pdf.Pages[0];  // First page
var secondPage = pdf.Pages[1]; // Second page
// IronPDF: basé sur 0indexing
var firstPage = pdf.Pages[0];  // First page
var secondPage = pdf.Pages[1]; // Second page
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cette différence nécessite une attention particulière lors de la migration du code qui fait référence à des pages spécifiques.

Données sur la position des mots

L'un des domaines dans lesquels pdfpig présente un avantage certain est la fourniture de données de position au niveau des mots.

PdfPig word positions:

using (var document = PdfDocument.Open("input.pdf"))
{
    foreach (var page in document.GetPages())
    {
        var words = page.GetWords();
        foreach (var word in words)
        {
            // PdfPigprovides bounding box coordinates
            Console.WriteLine($"Word: '{word.Text}' at ({word.BoundingBox.Left}, {word.BoundingBox.Top})");
        }
    }
}
using (var document = PdfDocument.Open("input.pdf"))
{
    foreach (var page in document.GetPages())
    {
        var words = page.GetWords();
        foreach (var word in words)
        {
            // PdfPigprovides bounding box coordinates
            Console.WriteLine($"Word: '{word.Text}' at ({word.BoundingBox.Left}, {word.BoundingBox.Top})");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le word.BoundingBox de PdfPigfournit des données de positionnement précises pour chaque mot, permettant l'analyse de la mise en page, la détection des tableaux et la compréhension de la structure du document.IronPDFextrait le texte sans les données de position - si les coordonnées au niveau des mots sont essentielles, envisagez une approche hybride utilisant les deux bibliothèques.

Différences entre les modèles d'élimination

Les bibliothèques diffèrent par leurs exigences en matière de gestion de la mémoire.

Disposition de PdfPig(obligatoire):

// PdfPigrequires using statement for proper disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // Work with document
}
// PdfPigrequires using statement for proper disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // Work with document
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Élimination d'IronPDF (facultatif):

//IronPDFne nécessite pas l'utilisation destatement
var pdf = PdfDocument.FromFile("input.pdf");
// Work with pdf
// Dispose optional: pdf.Dispose();
//IronPDFne nécessite pas l'utilisation destatement
var pdf = PdfDocument.FromFile("input.pdf");
// Work with pdf
// Dispose optional: pdf.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PdfPig nécessite le modèle using pour un nettoyage correct des ressources. Le PdfDocument d'IronPDF ne nécessite pas d'élimination explicite, bien qu'il puisse être éliminé si nécessaire.

Résumé de la comparaison des fonctionnalités

La différence de portée entre pdfpig etIronPDFcouvre pratiquement toutes les opérations PDF au-delà de la lecture.

Fonction PdfPig IronPDF
Licence Source ouverte (Apache 2.0) Commercial
Lecture/extraction de fichiers PDF Excellente Excellente
Génération de PDF Limité Complet
HTML à PDF Non pris en charge Prise en charge
URL vers PDF Non pris en charge Prise en charge
Fusionner des PDF Non pris en charge Prise en charge
Diviser les PDF Non pris en charge Prise en charge
Marqueurs d'eau Non pris en charge Prise en charge
Protection des mots de passe Non pris en charge Prise en charge
Signatures numériques Non pris en charge Prise en charge
Remplissage de formulaires Non pris en charge Prise en charge
Données sur la position des mots Prise en charge Non pris en charge
Support et documentation Soutien à la communauté Support dédié
Coût Gratuit Payé

Les applications nécessitant watermarking, la fusion de PDF ou des fonctions de sécurité ne peuvent pas y parvenir avec pdfpig seul.

Quand les équipes envisagent de passer de PdfPigà IronPDF

Plusieurs facteurs poussent les équipes à évaluerIronPDFcomme une alternative ou un complément à pdfpig :

Exigences de création de PDF : PdfPigne peut pas créer de PDF à partir de HTML, d'URL ou de manière programmatique. Les applications ayant besoin de générer des PDF à partir de contenu web ou de modèles nécessitent des bibliothèques supplémentaires - ou la solution complète d'IronPDF.

<Besoins en matière de manipulation de documents : PdfPigne peut pas fusionner, diviser ou modifier des PDF. Les applications nécessitant l'assemblage ou la modification de documents ont besoin des capacités de manipulation d'IronPDF.

Exigences de sécurité : PdfPigne peut pas ajouter de mots de passe, de cryptage ou de signatures numériques. Les applications ayant des exigences en matière de sécurité ont besoin des fonctionnalités de sécurité d'IronPdf.

Watermarking et Branding : PdfPigne peut pas ajouter de superpositions visuelles à des documents existants. Les applications nécessitant un marquage des documents ont besoin des fonctionnalités de filigrane d'IronPDF.

Support professionnel : PdfPigs'appuie sur le soutien de la communauté. Les organisations qui exigent des délais de réponse garantis et une assistance professionnelle bénéficient de l'assistance commerciale d'IronPDF.

Approche hybride : Certaines équipes utilisent les deux bibliothèques - Pdfpig pour l'analyse détaillée du texte avec la position des mots, et IronPdf pour la génération et la manipulation. Cette approche permet de tirer parti des atouts de chaque bibliothèque.

Comparaison d'installation

Installation de PdfPig:

Install-Package PdfPig
Install-Package PdfPig
SHELL

Purement .NET sans dépendances natives.

Installation d'IronPDF:

Install-Package IronPdf
Install-Package IronPdf
SHELL

IronPDF nécessite la configuration d'une clé de licence :

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

La première exécution d'IronPDF télécharge le moteur de rendu Chromium (~150 Mo en une seule fois). Pour les déploiements Linux, des dépendances supplémentaires sont nécessaires. La bibliothèque prend en charge .NET Framework, .NET Core, .NET 5+, ainsi que la compatibilité ascendante vers .NET 10 et C# 14.

Prise de décision

Le choix entre pdfpig etIronPDFdépend des exigences de votre application :

Considérez PdfPigsi : Votre besoin principal est l'extraction solide et les capacités de lecture, vous avez besoin de données de position au niveau du mot pour l'analyse de la mise en page, vous voulez une solution rentable avec une licence open-source, et vous n'avez pas besoin de la génération ou de la manipulation de PDF.

ConsidérezIronPDFsi : Vous avez besoin d'une prise en charge complète du cycle de vie des PDF, y compris la conversion de HTML en PDF, votre projet nécessite des fonctions de création et d'édition de PDF, vous avez besoin de manipuler des documents (fusion, division, filigrane), vous avez besoin de fonctions de sécurité (mots de passe, cryptage, signatures), ou vous avez besoin d'une prise en charge professionnelle soutenue par une licence commerciale.

<Considérez les deux : Pour une analyse de texte avancée avec génération de PDF, une approche hybride exploite les capacités de positionnement des mots de pdfpig avec les fonctionnalités de création et de manipulation d'IronPDF.

Commencer avec IronPDF

Pour évaluerIronPDFpour vos besoins en matière de PDF :

  1. Installation via NuGet : Install-Package IronPdf
  2. Passez en revue la documentation de démarrage
  3. Explorez tutoriels de conversion d'HTML en PDF pour obtenir des modèles de création
  4. Consultez la référence de l'API pour obtenir la documentation complète de la méthode

Les tutoriels IronPDF fournissent des exemples complets couvrant des scénarios courants, de la conversion de base à la manipulation avancée des PDF.

Conclusion

PdfPig etIronPDFservent des objectifs fondamentalement différents dans l'écosystème PDF .NET. PdfPigexcelle dans la lecture de PDF et l'extraction de texte - en analysant les documents avec précision et en fournissant des données de position au niveau des mots pour l'analyse de la mise en page.IronPDFfournit une solution PDF complète couvrant la création, l'extraction, la manipulation et la sécurité dans une seule bibliothèque.

Pour les applications ne nécessitant que la lecture de fichiers PDF, l'approche ciblée de pdfpig, avec ses licences open-source, peut s'avérer appropriée. Pour les applications nécessitant la génération de PDF, la manipulation de documents ou toute capacité de création au-delà de la lecture,IronPDFfournit ces fonctionnalités de manière native sans nécessiter de bibliothèques supplémentaires.

La décision va au-delà des exigences actuelles pour s'étendre aux besoins anticipés. Alors que pdfpig excelle dans son domaine de lecture et d'extraction, IronPdf se distingue par sa polyvalence et sa gestion complète des PDF. Les organisations commencent souvent par des exigences de lecture, mais s'étendent à la génération et à la manipulation de besoins - choisirIronPDFdès le départ fournit une base pour ces exigences élargies tout en garantissant un support professionnel et un développement actif.

Évaluez l'ensemble de vos besoins en matière de PDF - actuels et anticipés - avant de choisir entre ces bibliothèques. La nature en lecture seule de pdfpig crée des limites de capacité qui deviennent apparentes au fur et à mesure que les applications mûrissent et que les exigences augmentent.