Passer au contenu du pied de page
VIDéOS

Comment gérer les polices dans la conversion HTML en PDF

EO.Pdf présente plusieurs défis architecturaux qui poussent les équipes de développement à évaluer des alternatives. Il est essentiel de comprendre ces questions pour planifier votre stratégie de migration.

Les problèmes d'EO.Pdf

  1. Empreinte grupée de Chromium : EO.Pdf (version NuGet actuelle 26.1.34, mars 2026) expédie son propre moteur de rendu basé sur Chromium, ce qui augmente l'empreinte d'installation par rapport aux bibliothèques non-Chromium et ajoute de la lourdeur aux images Docker et aux pipelines CI/CD.

  2. Bagages d'architecture héritée : Le convertisseur HTML-to-PDF de EO.Pdf a été initialement construit sur un moteur intégré Internet Explorer / Trident avant que le projet ne passe à un moteur de rendu basé sur Chromium. La transition a laissé derrière elle quelques particularités d'API et des différences de comportement entre les versions.

  3. Windows uniquement sur .NET Core : Malgré leur marketing comme " cross-platform ", la propre documentation .NET Core d'Essential Objects indique que EO.Pdf prend en charge .NET Core 3.1+ et .NET 5/6 uniquement sur Windows — Linux et macOS ne sont pas officiellement supportés.

  4. Options globales statiques : Le principal point d'entrée HTML vers PDF d'EO.Pdf est la classe statique HtmlToPdf avec des HtmlToPdf.Options partagés. Modifier cet état global à partir de plusieurs threads n'est pas sûr et est gênant dans les applications web multi-locataires.

  5. Licence commerciale payante : EO.Pdf est vendu en tant que niveaux Single, 3-License Bundle, Corporate, et Corporate Plus (pas de niveau gratuit permanent — seulement un essai avec filigrane de 30 jours). Les prix exacts apparaissent sur la page de commande.

Comparaison des architectures

Aspect EO.Pdf IronPDF
Moteur de rendu Chromium intégré (transitionné depuis IE/Trident) Chromium intégré
Questions de légalité Bagages de migration IE/Trident Construit sur Chromium dès le départ
Support de la plateforme Windows uniquement sur .NET Core Windows, Linux, macOS, Docker, Azure
Configuration Statique HtmlToPdf.Options (non sûr pour les threads) Basé sur instance ChromePdfRenderer (sûr pour les threads)
Conception d'API Mixte (HtmlToPdf statique + modèle d'objet ACM) Unifié ChromePdfRenderer + HTML/CSS
Modèle de licence Single / 3-License / Corporate / Corporate Plus (essai de 30 jours) Commercial par développeur ; essai dev gratuit
Moderne .NET .NET Framework + .NET Core 3.1+ (Windows only) .NET Framework, .NET 6/7/8/9 multiplateforme
Support asynchrone Limité Complet RenderHtmlAsPdfAsync / RenderUrlAsPdfAsync

Avantages principaux de la migration

  1. Cross-platform sur .NET Core / .NET 6+ : Fonctionne sur Linux, macOS, et Docker — pas seulement sur Windows
  2. Configuration sûre pour les threads : Options de moteur de rendu basées sur une instance au lieu des globaux statiques
  3. API moderne : Noms de méthode cohérents — RenderHtmlAsPdf, RenderUrlAsPdf, PdfDocument.Merge
  4. Plein support asynchrone : RenderHtmlAsPdfAsync et RenderUrlAsPdfAsync pour des pipelines non bloquants
  5. Documentation : Tutoriels étendus, guides pratiques, et une référence d'objet active

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)

Vérifier l'utilisation d'EO.Pdf

Exécutez ces commandes dans le répertoire de votre solution pour identifier toutes les références EO.Pdf :

# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
SHELL

Espaces de noms EO.Pdf courants à rechercher :

  • EO.Pdf - HTML de base vers PDF
  • EO.Pdf.Acm - Modèle de contenu avancé (ACM)
  • EO.Pdf.Contents - Manipulation de contenu de bas niveau
  • EO.Pdf.Drawing - Opérations graphiques

Comprendre le changement de modèle de base

La différence architecturale la plus importante entre EO.Pdf et IronPDF est l'étendue de la configuration. EO.Pdf utilise des méthodes statiques avec des options globales qui affectent toutes les conversions, un modèle qui pose des problèmes de sécurité des threads dans les applications web.IronPDF utilise des moteurs de rendu basés sur des instances avec des options locales, ce qui garantit que chaque conversion est isolée.

Processus de migration étape par étape

Étape 1 : Mise à jour des paquets NuGet

Supprimez EO.Pdf et installez IronPDF:

# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
SHELL

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

Remplacer les espaces de noms EO.Pdf par IronPDF:

// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

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

Étape 3 : 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

Référence complète de migration des API

Mappage des classes de base

Classe EO.Pdf Équivalent d'IronPDF
HtmlToPdf ChromePdfRenderer
PdfDocument PdfDocument
HtmlToPdfOptions ChromePdfRenderOptions
AcmRender Pas nécessaire
AcmText HTML <span>, <p>
AcmBlock HTML <div>

Mise en correspondance des méthodes

Méthode EO.Pdf Méthode IronPDF
HtmlToPdf.ConvertHtml(html, path) renderer.RenderHtmlAsPdf(html) puis SaveAs(path)
HtmlToPdf.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url) puis SaveAs(path)
PdfDocument.Save(path) pdf.SaveAs(path)
new PdfDocument(path) PdfDocument.FromFile(path)
PdfDocument.Merge(doc1, doc2) (statique) PdfDocument.Merge(doc1, doc2) (statique)

Cartographie des options

Option EO.Pdf Options de rendu IronPDF
Options.PageSize = PdfPageSizes.A4 PaperSize = PdfPaperSize.A4
Options.OutputArea (RectangleF) MarginTop, MarginBottom, etc.

Exemples de migration de code

Conversion HTML en PDF

La conversion fondamentale de HTML en PDF démontre le passage de méthodes statiques à un rendu basé sur des instances.

Mise en œuvre d'EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        HtmlToPdf.ConvertHtml(html, "output.pdf")

        Console.WriteLine("PDF 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()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Le modèle en deux étapes d'IronPDF (rendu, puis enregistrement) permet l'accès à l'objet PdfDocument pour une manipulation supplémentaire avant l'enregistrement. Pour plus d'options, consultez la documentation HTML vers PDF.

Conversion d'URL en PDF

Mise en œuvre d'EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports EO.Pdf
Imports System

Module Program
    Sub Main()
        Dim url As String = "https://www.example.com"

        HtmlToPdf.ConvertUrl(url, "webpage.pdf")

        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()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim url As String = "https://www.example.com"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Le RenderUrlAsPdf d'IronPDF fournit une exécution complète de JavaScript et support moderne de CSS. Pour plus d'options, consultez l'URL vers la documentation PDF.

Fichier HTML avec paramètres personnalisés

Cet exemple démontre la différence critique dans les modèles de configuration—le OutputArea d'EO.Pdf avec pouces contre les propriétés de marge individuelles d'IronPDF en millimètres.

Mise en œuvre d'EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim options As New HtmlToPdfOptions()
        options.PageSize = PdfPageSizes.A4
        options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

Mise en œuvre d'IronPDF:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Class Program
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

Notez la conversion d'unité : EO.Pdf utilise les pouces dans OutputArea, tandis qu'IronPDF utilise les millimètres. Convertir en utilisant : inches × 25.4 = mm. Pour plus d'options, consultez la documentation sur les options de rendu.

Fusionner plusieurs fichiers PDF

Les deux bibliothèques exposent un PdfDocument.Merge statique pour combiner des documents — EO.Pdf n'a pas de méthode Append d'instance, donc tout code utilisant doc.Append(other) est invalide et doit être déplacé vers Merge.

Mise en œuvre d'EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        // EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        // EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports EO.Pdf
Imports System

Module Program
    Sub Main()
        Dim doc1 As New PdfDocument("file1.pdf")
        Dim doc2 As New PdfDocument("file2.pdf")

        ' EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        Dim mergedDoc As PdfDocument = PdfDocument.Merge(doc1, doc2)

        mergedDoc.Save("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Mise en œuvre d'IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.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()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdf1 = PdfDocument.FromFile("file1.pdf")
        Dim pdf2 = PdfDocument.FromFile("file2.pdf")

        Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
        merged.SaveAs("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Le Merge statique d'IronPDF accepte soit une liste de documents soit un List<PdfDocument>. Notez le changement du constructeur (new PdfDocument(path)) vers la fabrique statique (PdfDocument.FromFile(path)). Pour plus d'options, consultez la documentation sur la fusion de fichiers PDF .

Notes de migration essentielles

Conversion de l'unité de marge

EO.Pdf utilise les pouces dans OutputArea.IronPDF utilise des millimètres. Convertir en utilisant : inches × 25.4 = mm

// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
$vbLabelText   $csharpLabel

Configuration statique à la configuration basée sur les instances

Remplacer tout HtmlToPdf.Options.X par renderer.RenderingOptions.X :

// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4

' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
$vbLabelText   $csharpLabel

Migration d'ACM vers HTML

Si vous utilisez le modèle de contenu avancé d'EO.Pdf (AcmRender, AcmText, AcmBlock), migrez vers le HTML/CSS standard :

// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))

' IronPDF HTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Modèle de sauvegarde en deux étapes

EO.Pdf enregistre directement dans ConvertHtml().IronPDF retourne un objet PdfDocument, puis vous appelez SaveAs() :

// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")

' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Constructeur à usine statique

Remplacez new PdfDocument(path) par PdfDocument.FromFile(path) :

// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")

' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
$vbLabelText   $csharpLabel

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érifiez que les en-têtes et les pieds de page s'affichent correctement.
  • Tester les paramètres de sécurité/chiffrement
  • Valider les opérations de fusion
  • Évaluation comparative des performances
  • Tests multiplateformes (Windows, Linux, macOS)
  • Supprimer les fichiers de licence EO.Pdf
  • Mise à jour de la documentation

Ressources supplémentaires


La migration de EO.Pdf vers IronPDF résout les bagages hérités des époques IE/Trident et les préoccupations de sécurité des threads des options globales statiques de EO.Pdf. La transition vers une configuration basée sur des instances assure que votre code de génération PDF fonctionne de manière fiable sous une charge concurrente, tandis que le support multi-plateforme d'IronPDF étend le déploiement au-delà de Windows vers Linux, macOS, et Docker.

Veuillez noterEO.Pdf et Essential Objects sont des marques déposées de leur propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou parrainé par Essential Objects. 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