Passer au contenu du pied de page
VIDéOS

Comment convertir XML en PDF en utilisant C#

Migrer de PdfPigà IronPDF élargit vos capacités PDF d'une bibliothèque axée sur la lecture (avec une surface d'écriture étroite pour la rédaction basée sur les coordonnées et la fusion de base) à une solution PDF complète qui gère la création, la manipulation, l'extraction de texte et les fonctionnalités de sécurité. Ce guide fournit un chemin de migration complet en plusieurs étapes qui préserve vos flux de travail d'extraction existants tout en ajoutant la conversion HTML, la manipulation de documents de haut niveau, le filigrane et la création de sécurité que PdfPigne fournit pas.

Pourquoi migrer de PdfPigà IronPDF

Comprendre PdfPig

PdfPig (package NuGet PdfPig, espace de noms UglyToad.PdfPig) est une bibliothèque open-source de lecture et d'extraction de PDF en .NET, initialement inspirée par — et partiellement portée depuis — le projet Apache PDFBox for Java. Il permet aux développeurs d'accéder au contenu structurel des PDF avec une grande précision. Alors que PdfPigexcelle en extraction, son champ d'application est plus étroit que celui des bibliothèques commerciales de cycle de vie complet. Le projet reste en pré-1.0 (la version stable actuelle est 0.1.14), et son fichier README note que "tant que la version est inférieure à 1.0.0, les versions mineures modifieront l'API publique sans avertissement."

PdfPig fournit des outils fiables pour extraire du texte (avec des positions au niveau des lettres et des mots), des images, des données de formulaire en lecture seule, des annotations et des métadonnées. Il expose également une interface de création limitée — PdfDocumentBuilder pour la création de nouveaux documents bas-niveau et PdfMerger (dans UglyToad.PdfPig.Writer) pour concaténer des PDFs existants. Cela en fait un choix approprié pour les applications principalement axées sur l'analyse de documents, l'exploration de données et la concaténation de base.

La limitation axée sur la lecture

PdfPig est axé sur la lecture ; sa surface d'écriture est intentionnellement étroite. Lorsque votre application doit évoluer au-delà de l'extraction et de la fusion de base, PdfPigne peut pas aider :

  1. Génération de PDF limitée : Les nouveaux documents nécessitent un placement manuel de coordonnées via PdfPoint — pas de mise en page de haut niveau.

  2. Pas de conversion HTML vers PDF : PdfPigest une bibliothèque de lecture/analyse de PDF, et non une bibliothèque de génération de PDF. Vous devrez utiliser une bibliothèque différente pour la conversion de HTML en PDF.

  3. Manipulation de documents limitée : PdfMerger couvre la concaténation, mais il n'existe pas d'API de division/rotation/édition de haut niveau.

  4. Pas de création de sécurité : Peut lire des PDFs cryptés (avec un mot de passe) mais ne peut pas ajouter de mots de passe, de cryptage ou de signatures numériques.

  5. Pas de filigranes/tampons : Aucune API de haut niveau pour les superpositions visuelles sur les documents existants.

  6. Pas de remplissage de formulaire : Les formulaires sont en lecture seule - les valeurs ne peuvent pas être modifiées ou ajoutées.

Comparaison PdfPigvs IronPDF

Fonction PdfPig IronPDF
Licence Source ouverte (Apache 2.0) Commercial
package NuGet PdfPig (v0.1.14, pré-1.0) IronPdf
Lecture/extraction de fichiers PDF Excellente Excellente
Génération de PDF Limité (basé sur les coordonnées via PdfDocumentBuilder) Complet
HTML à PDF Non pris en charge Prise en charge
Extraction de texte Excellente(avec des boîtes englobantes de mots) Excellente(texte uniquement)
Fusion de fichiers PDF Pris en charge (PdfMerger) Pris en charge (PdfDocument.Merge)
Fractionner / Rotationner / Éditer Non pris en charge (de haut niveau) Prise en charge
Marqueurs d'eau Non pris en charge Prise en charge
Création de sécurité / cryptage Non pris en charge Prise en charge
Support et documentation Soutien à la communauté Support dédié
Indexation des pages basé sur 1 basé sur 0

IronPDF prend en charge un ensemble complet de fonctionnalités pour la création, la lecture, l'édition et la signature de PDF. Cette polyvalence permet aux développeurs de gérer les fichiers PDF du début à la fin sur .NET moderne, offrant une solution de cycle de vie complet du PDF qui va au-delà des capacités de lecture de PdfPig.


Avant de commencer

Prérequis

  1. Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Accès à NuGet : possibilité d'installer des packages NuGet
  3. Licence IronPDF : Obtenez votre clé de licence sur IronPDF

Modifications du paquet NuGet

# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuration de la licence

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Identifier l'utilisation de PdfPig

# Find PdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
# Find PdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
SHELL

Référence API complète

Modifications de l'espace de nommage

// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
' Before: PdfPig
Imports UglyToad.PdfPig
Imports UglyToad.PdfPig.Content
Imports UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor

' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
$vbLabelText   $csharpLabel

Mappages de chargement de documents

PdfPig IronPDF
PdfDocument.Open(path) PdfDocument.FromFile(path)
PdfDocument.Open(bytes) PdfDocument.FromBinaryData(bytes)
PdfDocument.Open(stream) PdfDocument.FromStream(stream)
using (var doc = ...) var pdf = ...

Mappages d'accès aux pages et de propriétés

PdfPig IronPDF
document.NumberOfPages pdf.PageCount
document.GetPages() pdf.Pages
document.GetPage(1) pdf.Pages[0]

Mappages d'extraction de texte

PdfPig IronPDF
page.Text pdf.Pages[i].Text
page.GetWords() pdf.ExtractTextFromPage(i)
(manual loop) pdf.ExtractAllText()

Mappings d'accès aux métadonnées

PdfPig IronPDF
document.Information.Title pdf.MetaData.Title
document.Information.Author pdf.MetaData.Author
document.Information.Subject pdf.MetaData.Subject
document.Information.Creator pdf.MetaData.Creator
document.Information.Producer pdf.MetaData.Producer

Nouvelles fonctionnalités non disponibles dans PdfPig

Fonctionnalité d'IronPDF Description du projet
renderer.RenderHtmlAsPdf(html) Conversion de HTML en PDF
renderer.RenderUrlAsPdf(url) Conversion d'URL en PDF
pdf.ApplyWatermark(html) Ajouter des filigranes
pdf.SecuritySettings.UserPassword Protection par mot de passe
pdf.Sign(certificate) Signatures numériques

Remarque: La fusion PDF est disponible dans les deux bibliothèques (PdfMerger dans PdfPig, PdfDocument.Merge dans IronPDF).


Exemples de migration de code

Exemple 1 : Extraction de texte à partir d'un PDF

Avant (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());
        }
    }
}
Imports UglyToad.PdfPig
Imports System
Imports System.Text

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim text = New StringBuilder()
            For Each page In document.GetPages()
                text.AppendLine(page.Text)
            Next
            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Après (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);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim text As String = pdf.ExtractAllText()
        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

PdfPig et IronPDF offrent tous deux d'excellentes capacités d'extraction de texte. La principale différence réside dans le modèle de code. PdfPignécessite une déclaration using avec PdfDocument.Open(), une itération manuelle à travers les pages avec GetPages(), et un StringBuilder pour accumuler le texte de chaque propriété page.Text.

IronPDF simplifie cela à un seul appel : PdfDocument.FromFile() charge le document, et ExtractAllText() renvoie tout le contenu textuel en une fois. Pas de déclaration using requise, pas d'itération manuelle, pas de StringBuilder. Voir la documentation sur l'extraction de texte pour des options supplémentaires.

Exemple 2 : Conversion de HTML en PDF

Avant (PdfPig):

PdfPig ne prend pas en charge la conversion HTML vers PDF. PdfPigest une bibliothèque de lecture/analyse de fichiers PDF, et non une bibliothèque de génération de fichiers PDF. Vous devrez utiliser une bibliothèque différente pour la conversion HTML vers PDF.

Après (IronPDF):

// 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");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Cet exemple met en évidence l'écart de capacité le plus important. PdfPigindique explicitement qu'il "ne prend pas en charge la conversion de HTML en PDF" et qu'il "est une bibliothèque de lecture et d'analyse de PDF, et non une bibliothèque de génération de PDF" Si vous devez créer des PDF à partir de HTML avec PdfPig, vous devrez utiliser une autre bibliothèque.

IronPDF fournit une conversion native de HTML en PDF via ChromePdfRenderer. La méthode RenderHtmlAsPdf() accepte des chaînes HTML et les convertit en documents PDF en utilisant un moteur Chromium en interne pour un rendu précis de HTML, CSS, et JavaScript. Le PdfDocument résultant peut être enregistré avec SaveAs() ou manipulé davantage avant l'enregistrement. Consultez la documentation HTML vers PDF pour des exemples complets.

Exemple 3 : Lecture des métadonnées PDF

Avant (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}");
        }
    }
}
Imports UglyToad.PdfPig
Imports System

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim 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}")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Après (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}");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim 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}")
    End Sub
End Class
$vbLabelText   $csharpLabel

Les deux bibliothèques fournissent un accès aux métadonnées avec des modèles presque identiques. PdfPigaccède aux métadonnées via document.Information et au nombre de pages via document.NumberOfPages.IronPDF utilise pdf.MetaData pour les métadonnées et pdf.PageCount pour le nombre de pages.

La migration est simple : remplacez PdfDocument.Open() par PdfDocument.FromFile(), document.Information par pdf.MetaData, et document.NumberOfPages par pdf.PageCount. Supprimez le wrapper de déclaration using car IronPDF n'en a pas besoin.


Notes de migration essentielles

Modification de l'indexation des pages

PdfPig utilise une indexation basée sur 1 ;IronPDF utilise une base 0 :

// PdfPig: basé sur 1indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF: basé sur 0indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig: basé sur 1indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF: basé sur 0indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig: basé sur 1indexing
Dim firstPage = document.GetPage(1)  ' First page

' IronPDF: basé sur 0indexing
Dim firstPage = pdf.Pages(0)  ' First page

' Migration helper
Dim pdfPigIndex As Integer = 1
Dim ironPdfIndex As Integer = pdfPigIndex - 1
$vbLabelText   $csharpLabel

La déclaration d'utilisation n'est pas requise

// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
    ' ...
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
' ...
' pdf.Dispose() ' Optional
$vbLabelText   $csharpLabel

Changement de chargement de document

// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
$vbLabelText   $csharpLabel

Modification du nom de la propriété des métadonnées

// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
' PdfPig: document.Information
Dim info = document.Information

' IronPDF: pdf.MetaData
Dim info = pdf.MetaData
$vbLabelText   $csharpLabel

Modification de la propriété du nombre de pages

// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
' PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}")

' IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}")
$vbLabelText   $csharpLabel

Nouvelles capacités après la migration

Après avoir migré vers IronPDF, vous bénéficiez de fonctionnalités que PdfPigne peut pas vous offrir :

Fusion de fichiers PDF

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

Marques de fond

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

Protection par mot de passe

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
$vbLabelText   $csharpLabel

Signatures numériques

var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
Dim signature As New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "support@company.com",
    .SigningReason = "Document Approval"
}
pdf.Sign(signature)
$vbLabelText   $csharpLabel

Résumé de la comparaison des fonctionnalités

Fonction PdfPig IronPDF
Extraction de texte
Accès aux métadonnées
Extraction d'images
Création de PDF Limité (basé sur les coordonnées)
HTML vers PDF
URL vers PDF
Fusionner des PDF ✓(PdfMerger)
Diviser les PDF
Filigranes
Remplissage de formulaires
Protection par mot de passe
Signatures numériques
Données sur la position des mots

Liste de contrôle de la migration

Pré-migration

  • Recenser toutes les utilisations de PdfPigdans le code source
  • Déterminez si vous avez besoin de données de position au niveau du mot (envisagez une approche hybride).
  • Notez toutes les références d'index de page (il faut convertir l'indexation à partir de 1 en indexation à partir de 0).
  • Planifier le stockage de la clé de licence IronPDF(variables d'environnement recommandées)
  • Commencez par tester avec une licence d'essai IronPDF.

Modifications du paquet

  • Supprimer le package NuGet PdfPig : dotnet remove package PdfPig
  • Installer le package NuGet IronPdf : dotnet add package IronPdf

Modifications du code

  • Mettre à jour les importations d'espace de noms (using UglyToad.PdfPig;using IronPdf;)
  • Remplacer PdfDocument.Open() par PdfDocument.FromFile()
  • Remplacer document.Information par pdf.MetaData
  • Remplacer document.NumberOfPages par pdf.PageCount
  • Convertir les index de page de 1 à 0.
  • Supprimer les déclarations using (optionnel,IronPDF n'en a pas besoin)
  • Ajouter la clé de licence IronPDF au démarrage de l'application

Après la migration

  • Le résultat de l'extraction de texte du test correspond aux attentes
  • Tester tous les scénarios de génération de PDF
  • Ajouter de nouvelles fonctionnalités (fusion, filigranes, sécurité) selon les besoins
  • Installez les dépendances Linux si vous déployez sur Linux.

Veuillez noterApache PDFBox et PdfPigsont des marques déposées de leurs propriétaires respectifs. Ce site n'est pas affilié, approuvé ou parrainé par l'Apache Software Foundation ou UglyToad. 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.

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