Comment migrer d'ExpertPdf à IronPDF en C#
ExpertPdf est un convertisseur HTML-PDF commercial for .NET qui sert les développeurs depuis de nombreuses années. Cependant, ExpertPdfest confronté à des défis importants dans le paysage actuel du développement en évolution rapide : documentation gelée depuis 2018, dépendance à une version Chrome héritée qui manque de fonctionnalités CSS3 modernes, prix premium allant de 550 à 1200 dollars pour une technologie dépassée, et une suite de produits fragmentée nécessitant des licences distinctes pour la fusion, la sécurité et le fractionnement. Ce guide complet fournit un chemin de migration étape par étape d'ExpertPdf versIronPDF- une bibliothèque PDF .NET moderne avec le dernier rendu Chromium, des mises à jour mensuelles et une architecture de package tout-en-un.
Pourquoi migrer d'ExpertPdf à IronPDF?
ExpertPdf présente plusieurs défis qui poussent les équipes de développement à évaluer des alternatives modernes. Il est essentiel de comprendre ces questions pour planifier votre stratégie de migration.
Les problèmes d'ExpertPdf
-
Documentation gelée depuis 2018 : la documentation d'ExpertPdf n'a pas été mise à jour depuis plus de 6 ans. Il est de plus en plus difficile de trouver des informations, des exemples et des meilleures pratiques à mesure que l'écosystème .NET évolue.
-
Version Chrome obsolète : ExpertPdfutilise une version ancienne de Chrome pour le rendu. Les fonctionnalités CSS3 modernes (Flexbox, Grid, CSS Variables) peuvent ne pas s'afficher correctement et les correctifs de sécurité ne sont pas appliqués.
-
Tarification premium pour une technologie obsolète : à 550 $ à 1 200 $ par licence, ExpertPdffacture des prix premium tout en fournissant une technologie de rendu dépassée.
-
Suite de produits fragmentée : ExpertPdfvend des packages séparés pour différentes fonctions — HtmlToPdf Converter, PDF Merger, PDF Security, PDF Splitter et PDF to Image — chacun nécessitant une licence distincte.
- Prise en charge limitée des technologies .NET modernes : Bien qu'ExpertPdf dispose de packages .NET Core , ceux-ci sont en retard par rapport aux versions et pratiques .NET modernes.
Comparaison des architectures
| Aspect | ExpertPdf | IronPDF |
|---|---|---|
| Documentation | Gelé depuis 2018 | Mise à jour continue |
| Moteur de rendu | Chrome hérité | Dernière version de Chromium |
| Support CSS | CSS3 limité | CSS3 complet (Flexbox, Grid) |
| Prix | $550-$1,200 | Prix compétitifs |
| Fréquence des mises à jour | Peu fréquents | Communiqués mensuels |
| Modèle de produit | Fragmenté (5+ DLL) | Bibliothèque tout-en-un |
| Moderne .NET | Limité | .NET 6/7/8/9+ natif |
| Support asynchrone | Limité | Async/await complet |
Avantages principaux de la migration
- Rendu moderne : Moteur Chromium de dernière génération pour un rendu impeccable au pixel près.
- Package tout-en-un : génération, fusion, sécurité et extraction de PDF dans un seul NuGet
- Développement actif : Mises à jour mensuelles avec de nouvelles fonctionnalités et des correctifs de sécurité
- Meilleure documentation : tutoriels et exemples complets
- Véritable compatibilité multiplateforme : prise en charge de Windows, Linux, macOS et Docker
Préparation de la migration
Prérequis
Assurez-vous que votre environnement répond à ces exigences :
- .NET Framework 4.6.2+ ou .NET Core 3.1 / .NET 5-9
- Visual Studio 2019+ ou VS Code avec l'extension C#
- Accès au Package Manager NuGet
- Clé de licenceIronPDF(essai gratuit disponible sur ironpdf.com)
Audit ExpertUtilisation du pdf
Exécutez ces commandes dans votre répertoire de solutions pour identifier toutes les références à ExpertPdf:
# Find all ExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
# Find all ExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
Paquets ExpertPdfcourants à rechercher :
ExpertPdf.HtmlToPdf- Conversion HTML vers PDFExpertPdf.PDFMerge- Fusion de PDFExpertPdf.PDFSecurity- Chiffrement et mots de passeExpertPdf.PDFSplit- Fractionnement de PDFExpertPdf.PdfToImage- Conversion PDF en image
Comprendre le changement de modèle de base
ExpertPdf utilise PdfConverter avec des méthodes de retour directes de tableaux d'octets.IronPDFutilise ChromePdfRenderer renvoyant des objets PdfDocument qui offrent des capacités de manipulation supplémentaires avant l'enregistrement.
Processus de migration étape par étape
Étape 1 : Mise à jour des paquets NuGet
Supprimez tous les paquets ExpertPdfet installezIronPDF:
# Remove all ExpertPdfpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage
# InstallIronPDF(includes all features)
dotnet add package IronPdf
# Remove all ExpertPdfpackages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage
# InstallIronPDF(includes all features)
dotnet add package IronPdf
Étape 2 : Mise à jour des références aux espaces de noms
Remplacer les espaces de noms ExpertPdfparIronPDF:
// Remove these
using ExpertPdf.HtmlToPdf;
// Add this
using IronPdf;
// Remove these
using ExpertPdf.HtmlToPdf;
// Add this
using IronPdf;
Imports IronPdf
Étape 3 : configuration de la licence
ExpertPdf utilise une licence par convertisseur.IronPDFutilise une licence globale unique :
// 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"
Référence complète de migration des API
Mappage des classes de base
| Classe ExpertPdf | Équivalent d'IronPDF |
|---|---|
PdfConverter |
ChromePdfRenderer |
PdfDocumentOptions |
ChromePdfRenderOptions |
PdfHeaderOptions |
TextHeaderFooter ou HtmlHeaderFooter |
PdfFooterOptions |
TextHeaderFooter ou HtmlHeaderFooter |
PDFMerge |
PdfDocument.Merge() |
Mise en correspondance des méthodes
| Méthode ExpertPdf | Méthode IronPDF |
|---|---|
pdfConverter.GetPdfBytesFromHtmlString(html) |
renderer.RenderHtmlAsPdf(html).BinaryData |
pdfConverter.GetPdfBytesFromUrl(url) |
renderer.RenderUrlAsPdf(url).BinaryData |
pdfConverter.GetPdfBytesFromHtmlFile(path) |
renderer.RenderHtmlFileAsPdf(path).BinaryData |
pdfConverter.SavePdfFromUrlToFile(url, path) |
renderer.RenderUrlAsPdf(url).SaveAs(path) |
Cartographie des options
| Option ExpertPdf | Options de rendu IronPDF |
|---|---|
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 |
PaperSize = PdfPaperSize.A4 |
PdfDocumentOptions.PdfPageOrientation = Portrait |
PaperOrientation = PdfPaperOrientation.Portrait |
PdfDocumentOptions.MarginTop |
MarginTop |
PdfHeaderOptions.HeaderText |
TextHeader.CenterText |
PdfFooterOptions.FooterText |
TextFooter.RightText |
Conversion des jetons de numérotation de page
ExpertPdf etIronPDFutilisent une syntaxe différente pour les numéros de page :
| ExpertPdf | IronPDF |
|---|---|
&p; |
{page} |
&P; |
{total-pages} |
Exemples de migration de code
Conversion HTML en PDF
La conversion fondamentale de HTML en PDF démontre le passage du modèle de tableau d'octets d'ExpertPdf à l'approche document-objet d'IronPDF.
Mise en œuvre d'ExpertPdf:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Convert HTML string to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Convert HTML string to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
Console.WriteLine("PDF created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Module Program
Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Convert HTML string to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>")
' Save to file
System.IO.File.WriteAllBytes("output.pdf", pdfBytes)
Console.WriteLine("PDF created successfully!")
End Sub
End Module
Mise en œuvre d'IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");
// Save to file
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF from HTML string
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>")
' Save to file
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
L'approche d'IronPDF renvoie un objet PdfDocument, permettant une manipulation supplémentaire (fusion, filigrane, sécurité) avant l'enregistrement. Pour plus d'options, consultez la documentation HTML vers PDF.
URL vers PDF avec paramètres de page
Mise en œuvre d'ExpertPdf:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
// Convert URL to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
// Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;
// Convert URL to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");
// Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Module Program
Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Set page size and orientation
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4
pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait
' Convert URL to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromUrl("https://www.example.com")
' Save to file
System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes)
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Module
Mise en œuvre d'IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Convert URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save to file
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
// Convert URL to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save to file
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF renderer
Dim renderer = New ChromePdfRenderer()
' Set page size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
' Convert URL to PDF
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
' Save to file
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Class
IronPDF's RenderingOptions fournit un accès direct aux propriétés pour la configuration de la page. Pour plus d'options, consultez l'URL vers la documentation PDF.
En-têtes et pieds de page avec numéros de page
Cet exemple démontre la différence critique dans la configuration de l'en-tête/pied de page : ExpertPdfutilise des classes distinctes PdfHeaderOptions et PdfFooterOptions avec des jetons &P;, tandisIronPDFutilise TextHeaderFooter avec des espaces réservés {total-pages}.
Mise en œuvre d'ExpertPdf:
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = true;
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
// Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = true;
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
// Convert HTML file to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
// Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;
class Program
{
static void Main()
{
// Create the PDF converter
PdfConverter pdfConverter = new PdfConverter();
// Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = true;
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;
// Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = true;
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;
// Convert HTML file to PDF
byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");
// Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
Imports ExpertPdf.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
' Create the PDF converter
Dim pdfConverter As New PdfConverter()
' Enable header
pdfConverter.PdfHeaderOptions.ShowHeader = True
pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"
pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center
' Enable footer with page numbers
pdfConverter.PdfFooterOptions.ShowFooter = True
pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"
pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right
' Convert HTML file to PDF
Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlFile("input.html")
' Save to file
System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes)
Console.WriteLine("PDF with headers and footers created successfully!")
End Sub
End Class
Mise en œuvre d'IronPDF:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Configure header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Document Header",
DrawDividerLine = true
};
// Configure footer with page numbers
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true
};
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
// Save to file
pdf.SaveAs("output-with-header-footer.pdf");
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
// Create a PDF renderer
var renderer = new ChromePdfRenderer();
// Configure header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
CenterText = "Document Header",
DrawDividerLine = true
};
// Configure footer with page numbers
renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true
};
// Convert HTML file to PDF
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
// Save to file
pdf.SaveAs("output-with-header-footer.pdf");
Console.WriteLine("PDF with headers and footers created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
' Create a PDF renderer
Dim renderer = New ChromePdfRenderer()
' Configure header
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.CenterText = "Document Header",
.DrawDividerLine = True
}
' Configure footer with page numbers
renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True
}
' Convert HTML file to PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
' Save to file
pdf.SaveAs("output-with-header-footer.pdf")
Console.WriteLine("PDF with headers and footers created successfully!")
End Sub
End Class
IronPDF's TextHeaderFooter fournit les propriétés LeftText, CenterText et RightText avec des lignes de séparation optionnelles. Pour les en-têtes basés sur HTML, utilisez HtmlHeaderFooter. Pour plus d'options, consultez la documentation sur les en-têtes et les pieds de page.
Notes de migration essentielles
Lieu de la clé de licence
ExpertPdf utilise une licence par convertisseur.IronPDFutilise une licence globale unique définie une fois au démarrage :
// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";
//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";
//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
' ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"
' IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE"
Conversion des jetons de numérotation de page
Remplacez les jetons ExpertPdfpar des caractères de remplacementIronPDF:
// ExpertPdf
"Page &p; of &P;"
// IronPDF
"Page {page} of {total-pages}"
// ExpertPdf
"Page &p; of &P;"
// IronPDF
"Page {page} of {total-pages}"
Fragmentation des paquets consolidés
Les packages distincts d'ExpertPdf (PDFMerge, PDFSecurity, PDFSplit, PdfToImage) sont tous inclus dans le package unique d'IronPDF :
// ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");
//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
// ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");
//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
' ExpertPdf- requires separate PDFMerge package
Dim merger As New PdfMerge()
merger.AppendPDFFile("file1.pdf")
merger.AppendPDFFile("file2.pdf")
merger.SaveMergedPDFToFile("merged.pdf")
' IronPDF- included in main package
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Pour plus d'options de fusion, consultez la documentation de fusion PDF.
Tailles de page personnalisées
ExpertPdf utilise des points.IronPDFutilise des millimètres. Convertir : points / 72 * 25.4 = mm
Liste de contrôle post-migration
Après avoir effectué la migration du code, vérifiez les points suivants :
- Comparaison visuelle des PDF générés
- Vérifier les en-têtes/pieds de page et les numéros de page
- Tester les paramètres de sécurité/chiffrement
- Valider les opérations de fusion
- Vérifier les formats de page personnalisés
- Évaluation comparative des performances
- Tests multiplateformes
- Supprimer les fichiers de licence ExpertPdf
- Mise à jour de la documentation
Protéger l'avenir de votre infrastructure PDF
Avec .NET 10 à l'horizon et C# 14 introduisant de nouvelles fonctionnalités de langage, le choix d'une bibliothèque PDF au développement actif et au rendu moderne garantit une compatibilité à long terme. Les mises à jour mensuelles d'IronPDF et le dernier moteur Chromium fournissent les bases d'une génération de PDF qui continuera à fonctionner correctement avec les mises en page CSS3 modernes (Flexbox, Grid) alors que les projets s'étendent jusqu'en 2025 et 2026 - contrairement à la version Chrome héritée d'ExpertPdf figée dans le temps.
Ressources supplémentaires
La migration d'ExpertPdf versIronPDFélimine les défis liés à la documentation figée, au rendu Chrome hérité, à la fragmentation des licences de produits et à la prise en charge limitée de .NET moderne. Le passage à une bibliothèque activement maintenue avec le dernier moteur Chromium garantit que votre génération de PDF suit le rythme de l'évolution des normes web et des frameworks .NET.

