Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de Easy PDF SDK vers IronPDF en C#

Migrer de Easy PDF SDKàIronPDF: Guide de migration complet en C

BCL Easy PDF SDKa été une solution traditionnelle pour la génération de PDF dans les environnements Windows, en utilisant des pilotes d'imprimante virtuels et l'automatisation de Microsoft Office. Toutefois, son architecture exclusivement Windows, ses dépendances interopérationnelles COM et ses exigences en matière de sessions utilisateur interactives posent des problèmes de déploiement fondamentaux pour les applications modernes. Ce guide complet fournit un chemin de migration étape par étape depuis Easy PDF SDKversIronPDF- une bibliothèque PDF .NET native avec une prise en charge multiplateforme, un rendu basé sur Chromium et des capacités de déploiement conteneurisé.

Pourquoi abandonner Easy PDF SDK?

Easy PDF SDK s'appuie sur plusieurs technologies héritées qui posent d'importants problèmes de déploiement et de maintenance dans les environnements de développement modernes.

Problèmes courants de déploiement du SDK Easy PDF

Les développeurs rencontrent fréquemment ces problèmes lorsqu'ils travaillent avec Easy PDF SDK:

  • bcl.easypdf.interop.easypdfprinter.dll error loading
  • L'objet COM qui a été séparé de son RCW sous-jacent ne peut pas être utilisé
  • Temps d'attente expiré en attendant que le travail d'impression se termine
  • L'opération d'impression a échoué car le service n'est pas en cours d'exécution
  • Erreur : Accès refusé (session interactive requise)
  • Impossible de trouver l'imprimante : BCL easyPDF Printer

Ces erreurs proviennent de l'architecture fondamentale d'Easy PDF SDK, qui nécessite des pilotes d'imprimante virtuels, une interopérabilité COM et des sessions Windows interactives qui n'existent tout simplement pas dans les environnements de serveur modernes.

Easy PDF SDKvs.IronPDF: Principales différences

Fonction Easy PDF SDK IronPDF
Plateforme Windows uniquement Windows, Linux, macOS, Docker
Dépendance bureautique Les exigences sont les suivantes Aucun
Installation Complexe MSI + pilote d'imprimante + COM Paquet NuGet simple
Support serveur Nécessite une session interactive Fonctionne sans tête
Rendu HTML Basique (bureautique) Chromium complet (CSS3, JS)
Support .NET Limited .NET Core Version complète de .NET 5/6/7/8/9
Async Pattern Basé sur des rappels Async/await natif
Support de conteneurs Impossible d'exécuter Docker/Kubernetes complet

Limitations de la plate-forme

La dépendance exclusive d'Easy PDF SDK à l'égard des systèmes Windows, nécessitant des installations Microsoft Office pour les conversions, exclut la prise en charge de Linux, macOS ou des environnements conteneurisés tels que Docker. Cette dépendance alourdit la configuration des serveurs et limite l'adoption des services aux environnements Windows - une contrainte importante pour les équipes qui pratiquent le DevOps multiplateforme ou qui utilisent des conteneurs pour le déploiement.

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 gestionnaire de paquets NuGet
  • Clé de licenceIronPDF(essai gratuit disponible sur ironpdf.com)

Audit Easy PDF SDKUsage

Exécutez ces commandes dans votre répertoire de solutions pour identifier toutes les références à Easy PDF SDK:

# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .

# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .

# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .

# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .
# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .

# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .

# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .

# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .
SHELL

Modifications importantes à prévoir

Modèle Easy PDF SDK Changements requis
new Printer() Utilisez ChromePdfRenderer
PrintOfficeDocToPDF() La conversion bureautique traitée différemment
RenduHTMLToPDF() RenderHtmlAsPdf()
Références d'interopérabilité COM Supprimer entièrement
Configuration du pilote d'imprimante Pas nécessaire
BeginPrintToFile() rappels Async/await natif
Exigences relatives aux sessions interactives Fonctionne sans tête
indexation des pages basée sur 1 indexation basée sur 0
Délai d'attente en secondes Délai d'attente en millisecondes

Processus de migration étape par étape

Étape 1 : Supprimez Easy PDF SDK

Easy PDF SDK est généralement installé via un programme d'installation MSI, des références DLL manuelles ou un enregistrement GAC. Supprimez toutes les références :

  1. Désinstaller BCL EasyPDF SDK à partir de Programmes et fonctionnalités
  2. Supprimez les références DLL de votre projet
  3. Supprimer les références d'interopérabilité COM
  4. Nettoyer les entrées du GAC si elles sont présentes

Étape 2 : Installer IronPDF

# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
SHELL

Ou via la console du gestionnaire de paquets :

Install-Package IronPdf

Étape 3 : mise à jour des références aux espaces de noms

Remplacez les espaces de noms Easy PDF SDKparIronPDF:

// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;

// Add these
using IronPdf;
using IronPdf.Rendering;
// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;

// Add these
using IronPdf;
using IronPdf.Rendering;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

Mappage des classes de base

Classe Easy PDF SDK Équivalent d'IronPDF Notes
Imprimante ChromePdfRenderer Principale classe de conversion
Document PDF Document PDF Manipulation de documents
HTMLConverter ChromePdfRenderer Conversion HTML
Configuration de l'imprimante ChromePdfRenderOptions Options de rendu
PageOrientation PdfPaperOrientation Orientationde la page
Taille de la page PdfPaperSize Taille du papier
SecurityHandler PdfDocument.SecuritySettings Options de sécurité

Méthodes de création de PDF

Méthode Easy PDF SDK Méthode IronPDF Notes
printer.RenderHTMLToPDF(html, path) renderer.RenderHtmlAsPdf(html).SaveAs(path) Chaîne HTML
printer.RenderUrlToPDF(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path) Conversion d'URL
htmlConverter.ConvertHTML(html, doc) renderer.RenderHtmlAsPdf(html) HTML vers PDF
htmlConverter.ConvertURL(url, doc) renderer.RenderUrlAsPdf(url) URL vers PDF

Méthodes de manipulation des fichiers PDF

Méthode Easy PDF SDK Méthode IronPDF Notes
doc.Append(doc2) PdfDocument.Merge(pdf1, pdf2) Fusionner des PDF
doc.ExtractPages(start, end) pdf.CopyPages(start, end) Extraire des pages
doc.DeletePage(index) pdf.RemovePage(index) Supprimer la page
doc.GetPageCount() pdf.PageCount Nombre de pages
doc.Save(path) pdf.SaveAs(path) Sauvegarder le PDF
doc.Close() pdf.Dispose() ou utilisant Nettoyage
doc.ExtractText() pdf.ExtractAllText() Extraction de texte

Options de configuration

Option SDK Easy PDF Option IronPDF Notes
config.TimeOut RenderingOptions.Timeout Délai d'attente (ms)
config.PageOrientation = Landscape RenderingOptions.PaperOrientation = Landscape Orientation
config.PageSize = A4 RenderingOptions.PaperSize = PdfPaperSize.A4 Taille du papier
config.MarginTop/Bottom/Left/Right RenderingOptions.MarginTop, etc. Marges

Exemples de migration de code

Chaîne HTML convertie en PDF

Mise en œuvre facile du SDK PDF:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
        pdf.Save("output.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
        pdf.Save("output.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mise en œuvre d'IronPDF:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF élimine la classe HTMLConverterdistincte et les appels Close() manuels - ce qui permet d'obtenir un code plus propre et plus facile à maintenir.

Conversion d'URL en PDF

Mise en œuvre facile du SDK PDF:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertURL("https://example.com", pdf);
        pdf.Save("webpage.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertURL("https://example.com", pdf);
        pdf.Save("webpage.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mise en œuvre d'IronPDF:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fusionner plusieurs fichiers PDF

Mise en œuvre facile du SDK PDF:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf1 = new PDFDocument("document1.pdf");
        var pdf2 = new PDFDocument("document2.pdf");
        pdf1.Append(pdf2);
        pdf1.Save("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf1 = new PDFDocument("document1.pdf");
        var pdf2 = new PDFDocument("document2.pdf");
        pdf1.Append(pdf2);
        pdf1.Save("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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 pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La méthode statique Merge d'IronPDF accepte directement plusieurs documents, éliminant ainsi le modèle de boucle Append manuel.

Protection par mot de passe

Mise en œuvre d'IronPDF:

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;

pdf.SaveAs("protected.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;

pdf.SaveAs("protected.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

En-têtes et pieds de page

Easy PDF SDK ne prend pas en charge les en-têtes et pieds de page en mode natif. Les en-têtes et pieds de page doivent être inclus dans le code HTML source.IronPDFfournit des fonctionnalités dédiées :

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:12px; font-family:Arial;'>
            Company Name - Confidential
        </div>",
    DrawDividerLine = true,
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true,
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:12px; font-family:Arial;'>
            Company Name - Confidential
        </div>",
    DrawDividerLine = true,
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true,
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pour plus d'options, consultez la documentation sur les en-têtes et les pieds de page.

Génération de PDFs asynchrone

Easy PDF SDK utilise des modèles asynchrones basés sur des rappels.IronPDFprend en charge les fonctions natives async/await :

Mise en œuvre facile du SDK PDF:

using BCL.easyPDF;

Printer printer = new Printer();

// BCL uses callback-based async
printer.BeginPrintToFile(
    "https://example.com",
    "output.pdf",
    OnPrintComplete,
    OnPrintError
);

Console.ReadLine();
printer.Dispose();
using BCL.easyPDF;

Printer printer = new Printer();

// BCL uses callback-based async
printer.BeginPrintToFile(
    "https://example.com",
    "output.pdf",
    OnPrintComplete,
    OnPrintError
);

Console.ReadLine();
printer.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mise en œuvre d'IronPDF:

using IronPdf;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var renderer = new ChromePdfRenderer();

        // Native async/await
        var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
        await pdf.SaveAsAsync("output.pdf");

        Console.WriteLine("PDF created: output.pdf");
    }
}
using IronPdf;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var renderer = new ChromePdfRenderer();

        // Native async/await
        var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
        await pdf.SaveAsAsync("output.pdf");

        Console.WriteLine("PDF created: output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Notesde migration essentielles

Modification de l'index des pages

Easy PDF SDK utilise une indexation basée sur 1.IronPDFutilise une indexation basée sur 0 :

// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);

// IronPDF: 0-based
pdf.CopyPages(0, 4);
// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);

// IronPDF: 0-based
pdf.CopyPages(0, 4);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Temps d'attente en millisecondes

Easy PDF SDK utilise des secondes pour les valeurs de délai d'attente.IronPDFutilise des millisecondes :

// Easy PDF SDK: seconds
config.TimeOut = 120;

// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;
// Easy PDF SDK: seconds
config.TimeOut = 120;

// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Intégration d'ASP.NET Core

Easy PDF SDK a du mal à s'adapter aux contextes web en raison des exigences liées aux sessions interactives.

Modèle IronPDF:

[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate")]
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");

        return File(pdf.BinaryData, "application/pdf", "report.pdf");
    }

    [HttpGet("generate-async")]
    public async Task<IActionResult> GeneratePdfAsync()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");

        return File(pdf.Stream, "application/pdf", "report.pdf");
    }
}
[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate")]
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");

        return File(pdf.BinaryData, "application/pdf", "report.pdf");
    }

    [HttpGet("generate-async")]
    public async Task<IActionResult> GeneratePdfAsync()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");

        return File(pdf.Stream, "application/pdf", "report.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Déploiement de Docker

Easy PDF SDK ne peut pas fonctionner dans les conteneurs Docker - il nécessite des conteneurs Windows, Microsoft Office, des pilotes d'imprimante virtuels et des sessions de bureau interactives. Ceci est fondamentalement incompatible avec la conteneurisation.

ConfigurationIronPDFDocker :

FROM mcr.microsoft.com/dotnet/aspnet:8.0

# Install Chromium dependencies
RUN apt-get update && apt-get install -y \
    libc6 libgdiplus libx11-6 libxcomposite1 \
    libxdamage1 libxrandr2 libxss1 libxtst6 \
    libnss3 libatk-bridge2.0-0 libgtk-3-0 \
    libgbm1 libasound2 fonts-liberation \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Dépannage des problèmes de migration courants

Édition : Imprimante introuvable

Symptôme: Impossible de trouver l'imprimante : BCL easyPDF Printer

Solution:IronPDFn'a pas besoin de pilotes d'imprimante :

// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sujet : Erreurs d'interopérabilité COM

Symptôme: DLL error loading ou RCW errors

Solution: Supprimer toutes les références COM et utiliser l'API gérée d'IronPDF.

Problème : Délai d'attente sur le serveur

Symptôme: La génération de PDF se bloque sur le serveur web

Solution:IronPDFfonctionne sans tête, sans sessions interactives :

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Problème : L'arrière-plan ne s'imprime pas

Symptôme: Les arrière-plans CSS sont manquants

Solution: Activer l'impression en arrière-plan :

renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Liste de contrôle post-migration

Après avoir effectué la migration du code, vérifiez les points suivants :

  • [Vérifier la qualité de la sortie PDF avec le moteur Chromium d'IronPDF
  • [Tester tous les cas de figure avec des HTML/CSS complexes
  • [Valider le déploiement d'un serveur sans sessions interactives
  • [Tester le déploiement de Docker/conteneurs
  • [Supprimer le programme d'installation de BCL EasyPDF du déploiement
  • [ ] Suppression de l'installation d'Office sur les serveurs (n'est plus nécessaire)
  • [Mettre à jour les pipelines CI/CD avec un nouveau package NuGet

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 multiplateforme garantit la compatibilité avec les modèles de déploiement en constante évolution. La prise en charge par IronPdf de Linux, Docker et des architectures cloud-natives signifie que votre investissement dans la migration porte ses fruits lorsque les projets s'étendent jusqu'en 2025 et 2026 - sans les contraintes du SDK Easy PDF qui ne fonctionne que sous Windows.

Ressources supplémentaires


La migration d'Easy PDF SDK versIronPDFélimine les dépendances aux imprimantes virtuelles, les problèmes d'interopérabilité COM et les contraintes propres à Windows. La transition vers un rendu basé sur Chromium offre une prise en charge CSS3 et JavaScript supérieure tout en permettant le déploiement vers Docker, Kubernetes et les environnements cloud, ce qui était auparavant impossible avec l'architecture héritée d'Easy PDF SDK.

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