Comment migrer de Pdfium à IronPDF en C#
La migration de Pdfium.NET versIronPDFfait passer votre flux de travail PDF .NET d'une bibliothèque axée sur le rendu avec des dépendances binaires natives à une solution PDF complète qui gère la création, la manipulation et le rendu sans complexité spécifique à la plateforme. Ce guide fournit un chemin de migration complet, étape par étape, qui élimine la gestion native des dépendances tout en ajoutant des fonctionnalités que Pdfium ne peut pas fournir.
Pourquoi migrer de Pdfium à IronPDF
Comprendre Pdfium.NET
Pdfium.NET est un wrapper .NET pour la bibliothèque PDFium de Google, réputée pour son efficacité et sa rapidité dans le rendu des documents PDF. Elle s'est imposée comme une bibliothèque importante pour les développeurs qui se plongent dans les subtilités du rendu PDF au sein des applications C#, fournissant une réplication haute-fidélité du contenu PDF dans les environnements .NET.
Cependant, malgré ses prouesses en matière de rendu, les capacités de Pdfium.NET en matière de création et de manipulation de documents PDF sont limitées. Elle est principalement conçue pour les applications qui nécessitent l'affichage précis du contenu PDF, sans mettre l'accent sur la modification ou la création de nouveaux PDF.
Limites critiques de Pdfium
-
Fonctionnalité de rendu uniquement : impossible de créer des PDF à partir de HTML, d'images ou par programmation. Les capacités de Pdfium sont limitées à l'affichage et au rendu des PDF.
-
Aucune manipulation de PDF : impossible de fusionner, de diviser ou de modifier le contenu PDF. La fusion de PDF n'est pas prise en charge en mode natif - vous devrez utiliser une autre bibliothèque comme iTextSharp ou PdfSharp.
-
Dépendances binaires natives : Nécessite des binaires PDFium spécifiques à la plateforme. Les développeurs doivent gérer les binaires PDFium natifs, un aspect qui ajoute de la complexité lors du déploiement et de la distribution.
-
Complexité du déploiement : Il faut regrouper et gérer les DLL natives par plateforme avec les dossiers x86, x64 et runtimes.
-
Extraction de texte limitée : Extraction de texte de base sans mise en forme. L'extraction de texte nécessite un travail supplémentaire avec Pdfium.NET.
-
Conversion HTML vers PDF impossible : Impossible de convertir le contenu Web en PDF. La conversion de HTML en PDF n'est pas prise en charge de manière native dans Pdfium.NET.
-
Pas d'en-têtes/pieds de page : impossible d'ajouter des numéros de page ou du contenu répétitif.
-
Pas de filigrane : Impossible d'apposer des tampons superposés sur les documents.
-
Absence de prise en charge des formulaires : Impossible de remplir ou de lire les formulaires PDF.
- Aucune fonction de sécurité : Impossible de chiffrer ou de protéger par mot de passe les fichiers PDF.
Comparaison Pdfium.NET vs IronPDF
| Aspect | Pdfium.NET | IronPDF |
|---|---|---|
| Accent principal | Rendu/visualisation | Solution PDF complète |
| Fidélité du rendu | Rendu haute fidélité | Niveau élevé, en particulier pour HTML/CSS/JS |
| Création de PDF | ✗ | ✓(HTML, URL, images) |
| Manipulation de PDF | ✗ | ✓(fusionner, diviser, éditer) |
| HTML à PDF | ✗ | ✓(moteur Chromium) |
| Marqueurs d'eau | ✗ | ✓ |
| En-têtes/Pieds de page | ✗ | ✓ |
| Remplissage de formulaires | ✗ | ✓ |
| Sécurité | ✗ | ✓ |
| Dépendances natives | Les exigences sont les suivantes | Aucune (gestion complète) |
| Cross-Platform | Configuration complexe | Automatique |
| Facilité de déploiement | Compliqué par les dépendances natives | Plus facile ; moins de complications liées aux dépendances |
Pour les équipes qui prévoient l'adoption de .NET 10 et C# 14 d'ici 2025 et 2026,IronPDFconstitue une base entièrement gérée qui élimine la gestion des binaires natifs tout en ajoutant des fonctionnalités complètes de création et de manipulation de PDF.
Avant de commencer
Prérequis
- Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
- Accès à NuGet : possibilité d'installer des packages NuGet
- Licence IronPDF : Obtenez votre clé de licence sur IronPDF
Modifications du paquet NuGet
# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer
# Install IronPDF
dotnet add package IronPdf
# Remove Pdfium packages
dotnet remove package Pdfium.NET
dotnet remove package Pdfium.Net.SDK
dotnet remove package PdfiumViewer
# Install IronPDF
dotnet add package IronPdf
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"
Identifier l'utilisation de Pdfium
# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .
# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
# Find Pdfium usage
grep -r "Pdfium\|PdfDocument\.Load\|\.Render\(" --include="*.cs" .
# Find native binary references
grep -r "pdfium\.dll\|pdfium\.so\|pdfium\.dylib" --include="*.csproj" --include="*.config" .
# Find platform-specific code
grep -r "#if.*64\|WIN32\|WIN64\|LINUX\|OSX" --include="*.cs" .
Référence API complète
Modifications de l'espace de nommage
// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
// Pdfium.NET
using Pdfium;
using Pdfium.Net;
using PdfiumViewer;
// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
Imports Pdfium
Imports Pdfium.Net
Imports PdfiumViewer
Imports IronPdf
Imports IronPdf.Rendering
Imports IronPdf.Editing
Mappages de classes de base
| Pdfium.NET | IronPDF |
|---|---|
PdfDocument |
PdfDocument |
PdfPage |
PdfPage |
PdfPageCollection |
PdfPageCollection |
| (non disponible) | ChromePdfRenderer |
| (non disponible) | HtmlHeaderFooter |
Mappages de chargement de documents
| Pdfium.NET | IronPDF |
|---|---|
PdfDocument.Load(path) |
PdfDocument.FromFile(path) |
PdfDocument.Load(stream) |
PdfDocument.FromStream(stream) |
PdfDocument.Load(bytes) |
PdfDocument.FromBinaryData(bytes) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
Mappages de propriétés de documents
| Pdfium.NET | IronPDF |
|---|---|
document.PageCount |
document.PageCount |
document.Pages |
document.Pages |
document.Pages[index] |
document.Pages[index] |
document.GetPageSize(index) |
document.Pages[index].Width/Height |
Mappages d'extraction de texte
| Pdfium.NET | IronPDF |
|---|---|
document.GetPdfText(pageIndex) |
document.Pages[index].Text |
| (boucle manuelle)_ | document.ExtractAllText() |
page.GetTextBounds() |
page.Text |
Enregistrement des documents Mappings
| Pdfium.NET | IronPDF |
|---|---|
document.Save(path) |
document.SaveAs(path) |
document.Save(stream) |
document.Stream |
| (non disponible) | document.BinaryData |
Mappages de rendu de page
| Pdfium.NET | IronPDF |
|---|---|
page.Render(width, height) |
pdf.RasterizeToImageFiles(path, dpi) |
page.Render(width, height, flags) |
Paramètre DPI |
document.Render(index, width, height) |
pdf.RasterizeToImageFiles() |
page.RenderToScale(scale) |
DPI : 72 * scale |
Nouvelles fonctionnalités non disponibles dans Pdfium
| Fonctionnalité d'IronPDF | Description du projet |
|---|---|
ChromePdfRenderer.RenderHtmlAsPdf() |
Créer à partir de HTML |
ChromePdfRenderer.RenderUrlAsPdf() |
Créer à partir d'une URL |
ChromePdfRenderer.RenderHtmlFileAsPdf() |
Créer à partir d'un fichier HTML |
PdfDocument.Merge() |
Combiner des PDF |
pdf.CopyPages() |
Extraire des pages |
pdf.RemovePages() |
Supprimer des pages |
pdf.InsertPdf() |
Insérer le PDF à la position |
pdf.ApplyWatermark() |
Ajouter des filigranes |
pdf.AddHtmlHeaders() |
Ajouter des en-têtes |
pdf.AddHtmlFooters() |
Ajouter des pieds de page |
pdf.SecuritySettings |
Protection par mot de passe |
pdf.SignWithDigitalSignature() |
Signatures numériques |
pdf.Form |
Remplissage de formulaires |
Exemples de migration de code
Exemple 1 : Extraction de texte à partir d'un PDF
Avant (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
using (var document = PdfDocument.Load(pdfPath))
{
StringBuilder text = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
// Note: PdfiumViewer has limited text extraction capabilities
// Text extraction requires additional work with Pdfium.NET
string pageText = document.GetPdfText(i);
text.AppendLine(pageText);
}
Console.WriteLine(text.ToString());
}
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
using (var document = PdfDocument.Load(pdfPath))
{
StringBuilder text = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
// Note: PdfiumViewer has limited text extraction capabilities
// Text extraction requires additional work with Pdfium.NET
string pageText = document.GetPdfText(i);
text.AppendLine(pageText);
}
Console.WriteLine(text.ToString());
}
}
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Text
Module Program
Sub Main()
Dim pdfPath As String = "document.pdf"
Using document = PdfDocument.Load(pdfPath)
Dim text As New StringBuilder()
For i As Integer = 0 To document.PageCount - 1
' Note: PdfiumViewer has limited text extraction capabilities
' Text extraction requires additional work with Pdfium.NET
Dim pageText As String = document.GetPdfText(i)
text.AppendLine(pageText)
Next
Console.WriteLine(text.ToString())
End Using
End Sub
End Module
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
var pdf = PdfDocument.FromFile(pdfPath);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string pdfPath = "document.pdf";
var pdf = PdfDocument.FromFile(pdfPath);
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdfPath As String = "document.pdf"
Dim pdf = PdfDocument.FromFile(pdfPath)
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
La différence est ici significative. Pdfium nécessite une boucle manuelle à travers chaque page avec GetPdfText(pageIndex), construisant un StringBuilder et gérant l'instruction using pour une élimination correcte. Le code indique que "PdfiumViewer a des capacités d'extraction de texte limitées" et que "l'extraction de texte nécessite un travail supplémentaire"
IronPDF simplifie cela en trois lignes : charger avec PdfDocument.FromFile(), extraire avec ExtractAllText(), et sortir. La méthode ExtractAllText() gère automatiquement toutes les pages avec des capacités d'extraction de texte plus avancées. Si vous avez besoin d'une extraction par page, vous pouvez utiliser pdf.Pages[index].Text. Consultez la documentation sur l'extraction de texte pour connaître les options supplémentaires.
Exemple 2 : fusion de fichiers PDF
Avant (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;
// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
// PdfiumViewer is primarily for rendering/viewing
// PDF merging is not natively supported
// You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;
// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
// PdfiumViewer is primarily for rendering/viewing
// PDF merging is not natively supported
// You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
}
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Collections.Generic
' Note: PdfiumViewer does not have native PDF merging functionality
' You would need to use additional libraries or implement custom logic
Class Program
Shared Sub Main()
Dim pdfFiles As New List(Of String) From {
"document1.pdf",
"document2.pdf",
"document3.pdf"
}
' PdfiumViewer is primarily for rendering/viewing
' PDF merging is not natively supported
' You would need to use another library like iTextSharp or PdfSharp
Console.WriteLine("PDF merging not natively supported in PdfiumViewer")
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
var pdf = PdfDocument.Merge(pdfFiles);
pdf.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> pdfFiles = new List<string>
{
"document1.pdf",
"document2.pdf",
"document3.pdf"
};
var pdf = PdfDocument.Merge(pdfFiles);
pdf.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Module Program
Sub Main()
Dim pdfFiles As New List(Of String) From {
"document1.pdf",
"document2.pdf",
"document3.pdf"
}
Dim pdf = PdfDocument.Merge(pdfFiles)
pdf.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully")
End Sub
End Module
Cet exemple met en évidence une lacune fondamentale en matière de capacités. Pdfium ne peut pas fusionner des PDF - le code indique explicitement que "la fusion de PDF n'est pas prise en charge en mode natif dans PdfiumViewer" et que "vous devriez utiliser une autre bibliothèque comme iTextSharp ou PdfSharp"
IronPDF fournit une fusion native avec la méthode statique PdfDocument.Merge() qui accepte directement une liste de chemins de fichiers. Le résultat est un nouveau PdfDocument que vous enregistrez avec SaveAs(). En savoir plus sur la fusion et la division de PDF.
Exemple 3 : Conversion HTML vers PDF
Avant (Pdfium):
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
static void Main()
{
// Pdfium.NET does not have native HTML to PDF conversion
// You would need to use a separate library to convert HTML to PDF
// then use Pdfium for manipulation
string htmlContent = "<h1>Hello World</h1>";
// This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
}
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;
// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
static void Main()
{
// Pdfium.NET does not have native HTML to PDF conversion
// You would need to use a separate library to convert HTML to PDF
// then use Pdfium for manipulation
string htmlContent = "<h1>Hello World</h1>";
// This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
}
}
Imports PdfiumViewer
Imports System.IO
Imports System.Drawing.Printing
' Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
' For HTML to PDF with Pdfium.NET, you would need additional libraries
' This example shows a limitation of Pdfium.NET
Class Program
Shared Sub Main()
' Pdfium.NET does not have native HTML to PDF conversion
' You would need to use a separate library to convert HTML to PDF
' then use Pdfium for manipulation
Dim htmlContent As String = "<h1>Hello World</h1>"
' This functionality is not directly available in Pdfium.NET
Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET")
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<h1>Hello World</h1>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<h1>Hello World</h1>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully")
End Sub
End Class
Cet exemple illustre la différence de capacité la plus importante. Pdfium indique explicitement que "la conversion de HTML en PDF n'est pas prise en charge en mode natif dans Pdfium.NET" et que "vous devrez utiliser une bibliothèque distincte pour convertir HTML en PDF"
IronPDF fournit une conversion native HTML vers PDF via ChromePdfRenderer, qui utilise un moteur Chromium en interne pour un rendu précis du HTML, du CSS et du JavaScript. La méthode RenderHtmlAsPdf() convertit directement les chaînes HTML en documents PDF.IronPDFpeut également rendre les URL avec RenderUrlAsPdf() et les fichiers HTML avec RenderHtmlFileAsPdf(). Consultez la documentation HTML vers PDF pour des exemples complets.
Suppression des dépendances natives
L'un des avantages les plus significatifs de la migration de Pdfium versIronPDFest l'élimination de la gestion des binaires natifs.
Avant (Pdfium) - Déploiement complexe
MyApp/
├── bin/
│ ├─── MyApp.dll
│ ├── Pdfium.NET.dll
│ ├── x86/
│ │ └── pdfium.dll
│ └── x64/
│ └── pdfium.dll
├── durées d'exécution/
│ ├── win-x86/native/
│ │ └── pdfium.dll
│ └── win-x64/native/
│ └── pdfium.dll
Après (IronPDF) - Déploiement propre
MyApp/
├── bin/
│ ├─── MyApp.dll
│ └── IronPDF.dll # Everything included
Supprimer les références binaires natives
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/
# Remove from .csproj
# Delete any <Content Include="pdfium.dll" /> entries
# Delete any <None Include="x86/pdfium.dll" /> entries
Notes de migration essentielles
Conversion de l'échelle en DPI
Pdfium utilise des facteurs d'échelle ;IronPDFutilise le DPI :
// Formula:IronPDFDPI = 72 × Pdfium scale
// Pdfium scale 2.0 →IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
// Formula:IronPDFDPI = 72 × Pdfium scale
// Pdfium scale 2.0 →IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI: 144);
' Formula: IronPDFDPI = 72 × Pdfium scale
' Pdfium scale 2.0 → IronPDFDPI 144
pdf.RasterizeToImageFiles("*.png", DPI:=144)
Modification de la méthode de chargement des documents
// Pdfium
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)
// Pdfium
PdfDocument.Load(path)
// IronPDF
PdfDocument.FromFile(path)
Enregistrer le changement de méthode
// Pdfium
document.Save(path)
// IronPDF
pdf.SaveAs(path)
// Pdfium
document.Save(path)
// IronPDF
pdf.SaveAs(path)
Simplification du modèle d'élimination
// Pdfium: Nécessite une élimination explicite
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
bitmap.Save("output.png");
}
// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
// Pdfium: Nécessite une élimination explicite
using (var document = PdfDocument.Load(path))
using (var page = document.Pages[0])
using (var bitmap = page.Render(1024, 768))
{
bitmap.Save("output.png");
}
// IronPDF: Simplified
var pdf = PdfDocument.FromFile(path);
pdf.RasterizeToImageFiles("output.png");
Imports Pdfium
Imports IronPDF
' Pdfium: Nécessite une élimination explicite
Using document = PdfDocument.Load(path)
Using page = document.Pages(0)
Using bitmap = page.Render(1024, 768)
bitmap.Save("output.png")
End Using
End Using
End Using
' IronPDF: Simplified
Dim pdf = PdfDocument.FromFile(path)
pdf.RasterizeToImageFiles("output.png")
Suppression du code spécifique à la plateforme
// Pdfium: Détection de plateforme requise
#if WIN64
// Load x64 pdfium.dll
#else
// Load x86 pdfium.dll
#endif
// IronPDF: Remove all platform-specific code
// Just use the API directly
// Pdfium: Détection de plateforme requise
#if WIN64
// Load x64 pdfium.dll
#else
// Load x86 pdfium.dll
#endif
// IronPDF: Remove all platform-specific code
// Just use the API directly
Résumé de la comparaison des fonctionnalités
| Fonction | Pdfium.NET | IronPDF |
|---|---|---|
| Charger le PDF | ✓ | ✓ |
| Rendu à l'image | ✓ | ✓ |
| Extraire le texte | ✓(de base) | ✓(avancé) |
| Page Info | ✓ | ✓ |
| Créer à partir de HTML | ✗ | ✓ |
| Créer à partir d'une URL | ✗ | ✓ |
| Fusionner des PDF | ✗ | ✓ |
| Diviser les PDF | ✗ | ✓ |
| Ajouter des filigranes | ✗ | ✓ |
| En-têtes/Pieds de page | ✗ | ✓ |
| Remplissage de formulaires | ✗ | ✓ |
| Signatures numériques | ✗ | ✓ |
| Protection par mot de passe | ✗ | ✓ |
| Dépendances natives | Les exigences sont les suivantes | Aucun |
| Multiplateforme | Complexe | Automatique |
| Gestion de la mémoire | Mise au rebut du manuel | Simplifié |
Liste de contrôle de la migration
Pré-migration
- Identifier toutes les utilisations de Pdfium dans le code source
- Documenter les dimensions/échelles de rendu actuelles utilisées
- Lister les emplacements des binaires natifs dans le projet
- Vérifier le code de chargement spécifique à la plateforme
- Identifier les besoins en matière de création de PDF (utilisez-vous actuellement des outils distincts ?)
- Examiner les schémas d'élimination en vue de la conversion
- Obtenir une clé de licence IronPDF
Modifications du paquet
- Supprimer les packages NuGet
Pdfium.NET,Pdfium.Net.SDK,PdfiumViewer - Supprimer les fichiers binaires natifs pdfium.dll des dossiers x86/, x64/ et runtimes/
- Supprimer la compilation conditionnelle spécifique à la plateforme
- Mettre à jour le fichier .csproj pour supprimer les références aux binaires natifs
- Installez le package NuGet
IronPdf:dotnet add package IronPdf
Modifications du code
- Ajouter la configuration de la clé de licence au démarrage
- Remplacez
PdfDocument.Load()parPdfDocument.FromFile() - Remplacez
document.Save()parpdf.SaveAs() - Remplacez les boucles
document.GetPdfText(i)parpdf.ExtractAllText() - Convertir les facteurs d'échelle en valeurs DPI (DPI = 72 × échelle)
- Simplifier les modèles de suppression (supprimer les instructions using imbriquées)
- Supprimer le code spécifique à la plateforme
Après la migration
- Tester la qualité du rendu.
- Comparer les résultats d'extraction de texte
- Test du déploiement multiplateforme
- Ajouter de nouvelles fonctionnalités (HTML vers PDF, fusion, filigranes, sécurité)
- Mise à jour de la documentation

