Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de C# à IronPDF en C#

Migrer deIronPDFàIronPDF: Un guide complet du développeur C

TuesPechkin a servi d'enveloppe thread-safe autour de la bibliothèque wkhtmltopdf, aidant les développeurs .NET à convertir HTML en PDF depuis des années. Cependant, la technologie wkhtmltopdf sous-jacente a été mise à jour pour la dernière fois en 2015 et officiellement abandonnée en décembre 2022. Cela crée des limitations critiques en matière de sécurité, de stabilité et de rendu que les équipes de développement ne peuvent plus ignorer.

Ce guide fournit un chemin de migration complet de TuesPechkinà IronPDF, avec des instructions étape par étape, des comparaisons de code et des exemples pratiques pour les développeurs .NET professionnels qui évaluent cette transition.

Pourquoi migrer de TuesPechkinmaintenant

La décision de migrer de TuesPechkinn'est plus facultative pour les équipes de développement soucieuses de la sécurité. La bibliothèque wkhtmltopdf sous-jacente comporte des vulnérabilités critiques non corrigées qui ne le seront jamais.

Vulnérabilité de sécurité critique : CVE-2022-35583

Attribut Valeur
CVE ID CVE-2022-35583
Sévérité CRITIQUE (9.8/10)
Vecteur d'attaque Réseau
Statut NE SERONT JAMAIS PATCHÉS
Affectés TOUTES les versions de TuesPechkin

Les responsables de wkhtmltopdf ont explicitement déclaré qu'ils ne corrigeraient PAS les failles de sécurité. Toute application utilisant TuesPechkinest en permanence exposée aux attaques de type SSRF (Server-Side Request Forgery).

Comment fonctionne l'attaque

Lors du traitement du code HTML fourni par l'utilisateur, les attaquants peuvent injecter du contenu malveillant :

<!-- Attacker submits this HTML to your PDF generator -->
<iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe>
<img src="http://internal-admin-panel:8080/api/users?export=all" />
<!-- Attacker submits this HTML to your PDF generator -->
<iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/"></iframe>
<img src="http://internal-admin-panel:8080/api/users?export=all" />
HTML

Cela permet aux attaquants d'accéder aux points d'extrémité des métadonnées AWS/Azure/GCP, de voler des données API internes, de scanner les ports des réseaux internes et d'exfiltrer des configurations sensibles.

La crise technologique

TuesPechkin intègre wkhtmltopdf, qui utilise Qt WebKit 4.8 - une technologie ancienne, antérieure à l'ère Chrome. Cela signifie :

  • Pas de prise en charge de Flexbox
  • Pas de prise en charge de la grille CSS
  • Exécution JavaScript interrompue
  • Pas de prise en charge d'ES6

La crise de la stabilité

Même avec le ThreadSafeConverterannoncé, TuesPechkinse bloque en cas de forte charge :

// ❌ TuesPechkin- "ThreadSafeConverter" still crashes
var converter = new TuesPechkin.ThreadSafeConverter(
    new TuesPechkin.RemotingToolset<PechkinBindings>());

// Under high load, you'll see:
// System.AccessViolationException: Attempted to read or write protected memory
// Process terminated unexpectedly
// Converter hangs indefinitely
// ❌ TuesPechkin- "ThreadSafeConverter" still crashes
var converter = new TuesPechkin.ThreadSafeConverter(
    new TuesPechkin.RemotingToolset<PechkinBindings>());

// Under high load, you'll see:
// System.AccessViolationException: Attempted to read or write protected memory
// Process terminated unexpectedly
// Converter hangs indefinitely
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDFvs TuesPechkin: Comparaison des fonctionnalités

La compréhension des différences architecturales aide les décideurs techniques à évaluer l'investissement dans la migration :

Fonction TuesPechkin IronPDF
Licence Gratuit (Licence MIT) Commercial
Sécurité des threads Nécessite une gestion manuelle Support natif
Monnaie fiduciaire Limité, peut se bloquer sous charge Robustesse, gestion d'une forte concurrence
Développement Inactif, dernière mise à jour en 2015 Améliorations actives et continues
Facilité d'utilisation Configuration complexe Convivialité des guides
Documentation Basique Nombreux exemples
Sécurité ❌ CVE critiques ✅ Aucune vulnérabilité connue
HTML à PDF ⚠️ WebKit obsolète ✅ Chrome moderne
CSS3 ❌ Partiel ✅ Prise en charge complète
Flexbox/Grid ❌ Non pris en charge ✅ Prise en charge complète
JavaScript ⚠️ Non fiable eS6+ complet
Manipulation de PDF ❌ Non disponible ✅ Complet
Signatures numériques ❌ Non disponible ✅ Complet
Conformité PDF/A ❌ Non disponible ✅ Complet
Remplissage de formulaires ❌ Non disponible ✅ Complet
Marqueurs d'eau ❌ Non disponible ✅ Complet
Fusion/Fractionnement ❌ Non disponible ✅ Complet

Démarrage rapide : Migration deIronPDFvers IronPdf

La migration peut commencer immédiatement grâce à ces étapes fondamentales.

Étape 1 : Remplacer les paquets NuGet

Supprimez tous les paquets TuesPechkin:

# Remove TuesPechkinand all related packages
dotnet remove package TuesPechkin
dotnet remove package TuesPechkin.Wkhtmltox.Win64
dotnet remove package TuesPechkin.Wkhtmltox.Win32
# Remove TuesPechkinand all related packages
dotnet remove package TuesPechkin
dotnet remove package TuesPechkin.Wkhtmltox.Win64
dotnet remove package TuesPechkin.Wkhtmltox.Win32
SHELL

InstallezIronPDF:

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

Étape 2 : suppression des binaires natifs

Supprimez ces fichiers et dossiers de votre projet :

  • wkhtmltox.dll
  • wkhtmltopdf.exe
  • Tous les fichiers wkhtmlto*
  • TuesPechkin.Wkhtmltox dossier

Étape 3 : Mise à jour des espaces de noms

Remplacer les espaces de noms TuesPechkinpar l'espace de noms IronPdf :

// Before (TuesPechkin)
using TuesPechkin;
using TuesPechkin.Wkhtmltox.Win64;

// After (IronPDF)
using IronPdf;
// Before (TuesPechkin)
using TuesPechkin;
using TuesPechkin.Wkhtmltox.Win64;

// After (IronPDF)
using IronPdf;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Étape 4 : initialisation de la licence

Ajouter l'initialisation de la licence au démarrage de l'application :

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Exemples de migration de code

Conversion de HTML en PDF

Le cas d'utilisation le plus courant démontre la différence de complexité entre ces bibliothèques PDF .NET.

Approche TuesPechkin:

// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = { new ObjectSettings { HtmlText = html } }
        });

        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}
// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = { new ObjectSettings { HtmlText = html } }
        });

        File.WriteAllBytes("output.pdf", pdfBytes);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Approche IronPDF:

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

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

        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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

        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

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

La version TuesPechkinnécessite la création d'un StandardConverteravec une chaîne d'initialisation complexe : RemotingToolset, Win64EmbeddedDeployment, et TempFolderDeployment. Vous devez également écrire manuellement des octets dans un fichier.

IronPDF élimine totalement cette cérémonie. Créez un ChromePdfRenderer, rendez le HTML et enregistrez. Le code est auto-documenté et ne nécessite aucune compréhension des outils de déploiement ou de la gestion des binaires spécifiques à la plateforme.

Pour les scénarios avancés de conversion de HTML en PDF, voir le guide de conversion de HTML en PDF.

Conversion des URL en PDF

La conversion d'URL en PDF présente des différences de complexité similaires.

Approche TuesPechkin:

// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = {
                new ObjectSettings {
                    PageUrl = "https://www.example.com"
                }
            }
        });

        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}
// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        byte[] pdfBytes = converter.Convert(new HtmlToPdfDocument
        {
            Objects = {
                new ObjectSettings {
                    PageUrl = "https://www.example.com"
                }
            }
        });

        File.WriteAllBytes("webpage.pdf", pdfBytes);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Approche IronPDF:

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

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

        var pdf = renderer.RenderUrlAsPdf("https://www.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://www.example.com");

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

TuesPechkin utilise ObjectSettings.PageUrlimbriqué dans un HtmlToPdfDocument.IronPDFfournit une méthode RenderUrlAsPdf dédiée qui exprime clairement l'intention.

Explorez la URL vers la documentation PDF pour l'authentification et les options d'en-tête personnalisées.

Paramètres de rendu personnalisés

L'orientation des pages, la taille du papier et les marges nécessitent des approches de configuration différentes.

Approche TuesPechkin:

// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        string html = "<html><body><h1>Custom PDF</h1></body></html>";

        var document = new HtmlToPdfDocument
        {
            GlobalSettings = {
                Orientation= GlobalSettings.PdfOrientation.Landscape,
                PaperSize = GlobalSettings.PdfPaperSize.A4,
                Margins = new MarginSettings { Unit = Unit.Millimeters, Top = 10, Bottom = 10 }
            },
            Objects = {
                new ObjectSettings { HtmlText = html }
            }
        };

        byte[] pdfBytes = converter.Convert(document);
        File.WriteAllBytes("custom.pdf", pdfBytes);
    }
}
// NuGet: Install-Package TuesPechkin
using TuesPechkin;
using System.IO;

class Program
{
    static void Main()
    {
        var converter = new StandardConverter(
            new RemotingToolset<PdfToolset>(
                new Win64EmbeddedDeployment(
                    new TempFolderDeployment())));

        string html = "<html><body><h1>Custom PDF</h1></body></html>";

        var document = new HtmlToPdfDocument
        {
            GlobalSettings = {
                Orientation= GlobalSettings.PdfOrientation.Landscape,
                PaperSize = GlobalSettings.PdfPaperSize.A4,
                Margins = new MarginSettings { Unit = Unit.Millimeters, Top = 10, Bottom = 10 }
            },
            Objects = {
                new ObjectSettings { HtmlText = html }
            }
        };

        byte[] pdfBytes = converter.Convert(document);
        File.WriteAllBytes("custom.pdf", pdfBytes);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Approche IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

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

        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 10;
        renderer.RenderingOptions.MarginBottom = 10;

        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("custom.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

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

        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 10;
        renderer.RenderingOptions.MarginBottom = 10;

        string html = "<html><body><h1>Custom PDF</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

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

TuesPechkin sépare les paramètres en Paramètres globauxpour les options applicables à l'ensemble du document et ObjectSettings pour le contenu.IronPDFconsolide tout dans Options de renduavec des noms de propriétés clairs et faciles à découvrir.

TuesPechkinAPI toIronPDFMapping Reference (Référence de mappage de l'API à IronPDF)

Cette cartographie accélère la migration en indiquant les équivalents directs des API :

TuesPechkin IronPDF Notes
StandardConverter ChromePdfRenderer Pas d'initialisation complexe
ThreadSafeConverter ChromePdfRenderer Sécurité des threads en mode natif
HtmlToPdfDocument Paramètres de la méthode Aucun objet de document n'est nécessaire
Paramètres globaux Options de rendu Options de configuration
ObjectSettings.HtmlText RenderHtmlAsPdf(html) Rendu direct
ObjectSettings.PageUrl RenderUrlAsPdf(url) Rendu d'URL
GlobalSettings.PaperSize RenderingOptions.PaperSize Taille du papier
GlobalSettings.Orientation RenderingOptions.PaperOrientation Orientation
MarginSettings MarginTop, MarginBottom, etc. Propriétés des marges individuelles
[page] caractère générique {page} placeholder Syntaxe des numéros de page
[toPage] placeholder {total-pages} caractère générique Syntaxe du nombre total de pages
RemotingToolset Pas nécessaire Pas de gestion du déploiement
Win64EmbeddedDeployment Pas nécessaire Pas de binaires de plateforme
TempFolderDeployment Pas nécessaire Pas de gestion des dossiers temporaires

Problèmes de migration courants et solutions

Enjeu 1 : Code d'initialisation complexe

Problème: TuesPechkinnécessite une configuration complexe du convertisseur avec des ensembles d'outils de déploiement.

Solution:IronPDFest simple :

// Before (TuesPechkin)
var converter = new StandardConverter(
    new RemotingToolset<PdfToolset>(
        new Win64EmbeddedDeployment(
            new TempFolderDeployment())));

// After (IronPDF)
var renderer = new ChromePdfRenderer();
// That's it!
// Before (TuesPechkin)
var converter = new StandardConverter(
    new RemotingToolset<PdfToolset>(
        new Win64EmbeddedDeployment(
            new TempFolderDeployment())));

// After (IronPDF)
var renderer = new ChromePdfRenderer();
// That's it!
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Édition 2 : Crashs liés à la sécurité des threads

Problème: Le ThreadSafeConverterde TuesPechkinse plante toujours sous une charge élevée avec AccessViolationException.

Solution:IronPDFdispose d'une sécurité thread native - aucune configuration spéciale n'est requise :

//IronPDFis inherently thread-safe
var renderer = new ChromePdfRenderer();
// Use from any thread without crashes
//IronPDFis inherently thread-safe
var renderer = new ChromePdfRenderer();
// Use from any thread without crashes
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sujet 3 : Syntaxe de l'espace réservé au numéro de page

Problème: TuesPechkinutilise les caractères génériques [page] et [toPage].

Solution:Mise à jour de la syntaxe des espaces réservés d'IronPDF :

// Before (TuesPechkin)
"Page [page] of [toPage]"

// After (IronPDF)
"Page {page} of {total-pages}"
// Before (TuesPechkin)
"Page [page] of [toPage]"

// After (IronPDF)
"Page {page} of {total-pages}"
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Edition 4 : Mise en page CSS cassée

Problème: Les mises en page Flexbox et Grid ne fonctionnent pas dans TuesPechkinparce que wkhtmltopdf utilise Qt WebKit 4.8.

Solution: Utilisez des feuilles de style CSS modernes et appropriées avecIronPDF:

// Remove table-based workarounds, use modern CSS
var html = @"
    <div style='display: flex; justify-content: space-between;'>
        <div>Left</div>
        <div>Right</div>
    </div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// Works correctly with Chromium!
// Remove table-based workarounds, use modern CSS
var html = @"
    <div style='display: flex; justify-content: space-between;'>
        <div>Left</div>
        <div>Right</div>
    </div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// Works correctly with Chromium!
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Edition 5 : Gestion des binaires natifs

Problème: TuesPechkinnécessite des binaires wkhtmltopdf spécifiques à la plateforme et une configuration du chemin d'accès.

Solution:IronPDFgère toutes les dépendances par le biais de NuGet - pas de binaires natifs à gérer :

# Just install the package
dotnet add package IronPdf
# No wkhtmltopdf binaries needed
# Just install the package
dotnet add package IronPdf
# No wkhtmltopdf binaries needed
SHELL

Liste de contrôle pour la migration vers TuesPechkin

Tâches préalables à la migration

Auditez votre base de code pour identifier toutes les utilisations de TuesPechkin:

grep -r "using TuesPechkin" --include="*.cs" .
grep -r "ThreadSafeConverter\|RemotingToolset" --include="*.cs" .
grep -r "using TuesPechkin" --include="*.cs" .
grep -r "ThreadSafeConverter\|RemotingToolset" --include="*.cs" .
SHELL

Documenter les configurations actuelles de Paramètres globaux(taille du papier, orientation, marges). Documenter les configurations ObjectSettings (contenu HTML, URL). Identifier les implémentations d'en-tête/pied de page pour la conversion. Localisez tous les binaires de wkhtmltopdf pour les supprimer.

Tâches de mise à jour du code

  1. Supprimer les paquets NuGet de TuesPechkin
  2. Supprimer les binaires natifs de wkhtmltopdf
  3. Installer le paquet NuGet IronPdf
  4. Mise à jour des déclarations d'utilisation de TuesPechkin vers IronPdf
  5. Ajouter l'initialisation de la clé de licence au démarrage
  6. Remplacer les convertisseurs par ChromePdfRenderer
  7. Convertir Paramètres globauxen RenderingOptions
  8. Convertir les ObjectSettings en paramètres de méthode
  9. Mise à jour de la configuration des marges pour les propriétés individuelles
  10. Mise à jour de la syntaxe des en-têtes/pieds de page en HTML HtmlHeaderFooter
  11. Correction de la syntaxe des espaces réservés ([page]{page})
  12. Supprimer tout le code de déploiement/outil

Test de post-migration

Après la migration, vérifiez ces aspects :

  • Exécuter tous les tests unitaires
  • Tester des scénarios à sécurité thread (IronPDF gère le multithreading sans plantage)
  • Comparer la qualité de sortie des PDF (Chromium rend plus précisément)
  • Vérification du rendu CSS (Flexbox et Grid fonctionnent désormais)
  • Test de l'exécution JavaScript (ES6+ désormais pris en charge)
  • Test du rendu de l'en-tête/du pied de page
  • Test de performance des opérations par lots
  • Analyse de sécurité pour vérifier qu'il ne reste pas de binaires wkhtmltopdf

Avantages clés de la migration vers IronPDF

Le passage de TuesPechkinàIronPDFprésente plusieurs avantages décisifs :

Sécurité : CVE-2022-35583et d'autres vulnérabilités de wkhtmltopdf sont éliminées. Le moteur Chromium d'IronPDF reçoit régulièrement des mises à jour de sécurité.

Native Thread Safety : Finies les configurations complexes de ThreadSafeConverter. Fini les plantages sous charge des AccessViolationException.IronPDFgère automatiquement la concurrence.

<Moteur de rendu moderne : Prise en charge complète de CSS3, Flexbox, Grid et ES6+ JavaScript. Vos PDF sont restitués exactement comme le contenu apparaît dans les navigateurs modernes.

<Déploiement simplifié : pas de binaires spécifiques à une plateforme à gérer. Pas de cérémonie RemotingToolset, Win64EmbeddedDeployment, ou TempFolderDeployment. Il suffit d'installer le package NuGet.

Développement actif : Alors que l'adoption de .NET 10 et C# 14 augmente jusqu'en 2026, les mises à jour régulières d'IronPDF garantissent la compatibilité avec les versions .NET actuelles et futures.

Capacités étendues : TuesPechkinne convertit que du HTML au PDF.IronPDFajoute la manipulation de PDF, les signatures numériques, la conformité PDF/A, le remplissage de formulaires, les filigranes et les opérations de fusion/séparation.

Conclusion

TuesPechkin a bien servi la communauté .NET en tant qu'enveloppe thread-safe autour de wkhtmltopdf. Cependant, comme la technologie sous-jacente est abandonnée depuis décembre 2022 et que des failles de sécurité critiques ne seront jamais corrigées, la poursuite de l'utilisation crée un risque inacceptable pour les applications de production.

IronPDF offre une alternative moderne et sécurisée avec une API plus simple, une sécurité native des threads et un moteur de rendu Chromium qui gère les normes web contemporaines. Le chemin de migration est simple : remplacez les packages NuGet, éliminez les binaires natifs et simplifiez votre code de conversion.

Commencez votre migration dès aujourd'hui avec un essai gratuit d'IronPDF et éliminez les failles de sécurité inhérentes aux solutions basées sur le format wkhtmltopdf.

Pour des conseils de mise en œuvre complets, explorez la documentation IronPDF et les tutoriels.

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