Passer au contenu du pied de page
VIDéOS

Comment convertir Markdown en PDF

ExpertPdf est un convertisseur commercial HTML-to-PDF for .NET publié parOutside Software Inc.La dernière version sur nuget.org est v20.1.0 (avril 2025), donc la suite est encore activement expédiée — le frottement réside dans la forme du produit, pas dans son abandon. ExpertPdfrepose sur un moteur Trident (IE) plus un moteur "WebKit2" ajouté en v12.2 ; le Chromium moderne n'est pas le défaut. Les listings publics de ComponentSource ont historiquement montré le HtmlToPdf Converter à environ 550–1 200 $ par niveau (vérifiez directement avec le fournisseur). Le toolkit est également réparti sur des packages NuGet séparés — HtmlToPdf, MergePdf, PdfSecurity, SplitPdf, PdfToImage, PdfCreator — chacun généralement licencié séparément. Ce guide fournit un chemin de migration étape par étape d'ExpertPdf vers IronPDF, une bibliothèque PDF .NET avec le dernier rendu Chromium, des sorties fréquentes, et un 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

  1. Documentation clairsemée, rythme lent : Des documents de référence existent sur html-to-pdf.net, mais les tutoriels, les articles de fonctionnalités, et les entrées de journal des modifications sont rares. Les notes de version pour v20.1 (avril 2025) listent des "corrections de bugs et des améliorations de performance" — pas de fonctionnalités emblématiques.

  2. Anciennes pipelines de rendu : ExpertPdfexpédie un moteur Trident (IE) plus un moteur "WebKit2" ajouté en v12.2 ; le Chromium moderne n'est pas le défaut. les fonctionnalités CSS3 telles que Flexbox, Grid, et les variables CSS se rendent mieux sur le moteur WebKit2 — vérifiez par rapport à votre HTML cible avant de migrer de grands états.

  3. Tarification premium pour une pile vieillissante : Les listings publics de ComponentSource ont historiquement montré le HtmlToPdf Converter à environ 550–1 200 $ par niveau (vérifiez directement avec le fournisseur — la page de commande sur expertpdf.net était inaccessible au moment de la rédaction).

  4. Suite de produits fragmentée : ExpertPdfvend des packages séparés — ExpertPdf.HtmlToPdf.NetCore / ExpertPdfHtmlToPdf, ExpertPdf.MergePdf, ExpertPdf.PdfSecurity, ExpertPdf.SplitPdf, ExpertPdf.PdfToImage, ExpertPdf.PdfCreator — chacun étant généralement licencié séparément.

  5. Pas de cibles .NET modernes natives : Les packages .NetCore ciblent .NET Standard 2.0 / .NET Framework 4.6.1, donc ils s'exécutent sur .NET 5/6/7/8/9 — mais vous n'obtenez pas de builds multi-cibles natifs, d'assemblages adaptés au trimming, ou d'APIs orientées async.

Comparaison des architectures

Aspect ExpertPdf IronPDF
Fournisseur Outside Software Inc. Iron Software
Dernière version (nuget.org) v20.1.0 (avr 2025) Mise à jour continue
Documentation Docs de référence uniquement, tutoriels clairsemés Mise à jour continue
Moteur de rendu Trident (IE) + "WebKit2" (ajouté v12.2) Dernière version de Chromium
Support CSS CSS3 meilleur sur WebKit2 ; partiel sur héritage CSS3 complet (Flexbox, Grid)
Prix ≈550-1 200 $ (vérifiez auprès du fournisseur) Voir ironpdf.com/pricing
Modèle de produit Fragmenté (6+ packages NuGet) Bibliothèque tout-en-un
Moderne .NET .NET Standard 2.0 (fonctionne sur .NET 5-9) .NET 6/7/8/9+ multi-ciblé
Support asynchrone Limité Async/await complet

Avantages principaux de la migration

  1. Rendu moderne : Moteur Chromium de dernière génération pour un rendu impeccable au pixel près.
  2. Package tout-en-un : génération, fusion, sécurité et extraction de PDF dans un seul NuGet
  3. Développement actif : Mises à jour mensuelles avec de nouvelles fonctionnalités et des correctifs de sécurité
  4. Meilleure documentation : tutoriels et exemples complets
  5. 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 licence IronPDF(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"
SHELL

Packages ExpertPdfcommuns à rechercher (vérifiez le nom exact sur nuget.org — la suite utilise une casse incohérente) :

  • ExpertPdfHtmlToPdf (.NET Framework) / ExpertPdf.HtmlToPdf.NetCore (.NET Core / 5-9) — HTML to PDF
  • ExpertPdf.MergePdf — fusion de PDF
  • ExpertPdf.PdfSecurity — cryptage et mots de passe
  • ExpertPdf.SplitPdf — division de PDF
  • ExpertPdf.PdfToImage — conversion de PDF en image
  • ExpertPdf.PdfCreator — SDK PDF complet (dessin, formulaires, signatures)

Comprendre le changement de modèle de base

ExpertPdf utilise PdfConverter avec des méthodes de retour direct de tableau d'octets.IronPDF utilise ChromePdfRenderer retournant des objets PdfDocument qui offrent des capacités supplémentaires de manipulation avant l'enregistrement.

Processus de migration étape par étape

Étape 1 : Mise à jour des paquets NuGet

Supprimez tous les paquets ExpertPdfet installez IronPDF:

# Remove all ExpertPdfpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator

# Install IronPDF(includes all features)
dotnet add package IronPdf
# Remove all ExpertPdfpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator

# Install IronPDF(includes all features)
dotnet add package IronPdf
SHELL

Étape 2 : Mise à jour des références aux espaces de noms

Remplacer les espaces de noms ExpertPdfpar IronPDF:

// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Étape 3 : configuration de la licence

ExpertPdf utilise une licence par convertisseur.IronPDF utilise 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"
$vbLabelText   $csharpLabel

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 et IronPDF utilisent 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

L'approche de IronPDF retourne 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Le RenderingOptions de IronPDF offre un accès direct aux propriétés pour la configuration des pages. 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 des en-têtes/pieds de page—ExpertPdf utilise des classes PdfHeaderOptions et PdfFooterOptions séparées avec des tokens &P;, tandis que IronPDF utilise 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Le TextHeaderFooter de IronPDF fournit des propriétés LeftText, CenterText, et RightText avec des lignes diviseurs optionnelles. Pour des 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.IronPDF utilise 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 = "YOUR-LICENSE-KEY";
// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"

' IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Conversion des jetons de numérotation de page

Remplacez les jetons ExpertPdfpar des caractères de remplacement IronPDF:

// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

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 ExpertPdf.MergePdf package
PDFMerge 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 ExpertPdf.MergePdf package
PDFMerge 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 ExpertPdf.MergePdf 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")
$vbLabelText   $csharpLabel

Pour plus d'options de fusion, consultez la documentation de fusion PDF.

Tailles de page personnalisées

ExpertPdf utilise des points.IronPDF utilise 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

Ressources supplémentaires


La migration d'ExpertPdf vers IronPDF remplace la documentation éparse, les pipelines de rendu hérités, et le licensing de produit fragmenté par une bibliothèque activement maintenue sur le dernier moteur Chromium — gardant votre génération de PDF alignée avec les normes web actuelles et les cibles modernes .NET.

Veuillez noterExpertPDF est une marque déposée de son propriétaire respectif (Outside Software Inc.). Ce site n'est pas affilié à, approuvé par, ou parrainé parOutside Software Inc.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