Comment migrer de Kaizen.io vers IronPDF en C#
La migration de Kaizen.io HTML-to-PDF versIronPDFtransforme votre flux de travail PDF .NET d'un service dépendant du cloud avec des problèmes de latence du réseau et de confidentialité des données vers une bibliothèque locale en cours de processus qui conserve vos données au sein de votre infrastructure. Ce guide propose un chemin de migration complet, étape par étape, qui élimine les dépendances aux API externes et la tarification à la demande pour les développeurs .NET professionnels.
Pourquoi migrer de Kaizen.io vers IronPDF
Les défis de l'API basée sur le cloud
Kaizen.io HTML-to-PDF, comme d'autres services PDF basés sur le cloud, introduit des limitations qui affectent les applications de production :
-
Dépendance au cloud : Nécessite une connexion internet constante et la disponibilité d'un service externe. Si le service Kaizen.io subit des interruptions, la génération de PDF de votre application cesse de fonctionner.
-
Problèmes de confidentialité des données : Le contenu HTML sensible — y compris les données clients, les rapports financiers et les documents confidentiels — doit être transmis à des serveurs tiers pour traitement.
-
Latence du réseau : chaque génération de PDF entraîne des délais d'aller-retour sur le réseau de 100 à 500 ms ou plus, ce qui ajoute une surcharge importante aux temps de réponse de votre application.
-
Tarification par requête : les coûts augmentent proportionnellement au volume d'utilisation, ce qui rend la génération de PDF en grand volume de plus en plus coûteuse.
-
Limitation du débit : La limitation du débit de l'API pendant les périodes de forte activité peut entraîner des échecs ou des retards dans la génération de PDF au moment où vous en avez le plus besoin.
- Dépendance vis-à-vis du fournisseur : les modifications d'API ou le risque d'interruption de service rendent votre application vulnérable aux décisions commerciales externes.
Comparaison Kaizen.io vs IronPDF
| Fonction | Kaizen.io | IronPDF |
|---|---|---|
| Traitement | Cloud (serveurs externes) | Local (en cours) |
| Confidentialité des données | Données transmises à l'extérieur | Les données ne quittent jamais votre infrastructure |
| Temps de latence | Trajet aller-retour sur le réseau (100-500ms+) | Traitement local (50-200ms) |
| Disponibilité | Dépend d'un service externe | 100% sous votre contrôle |
| Tarifs | À la demande ou par abonnement | Licence unique ou annuelle |
| Mode hors ligne | Pas possible | Fonctionnalité complète |
| Limites tarifaires | Limitation de l'API | Aucune limite |
| JavaScript | Soutien limité | Exécution complète de Chromium |
Pour les équipes qui prévoient l'adoption de .NET 10 et C# 14 jusqu'en 2025 et 2026,IronPDFconstitue une base pérenne avec un traitement local qui élimine les dépendances de services externes.
Évaluation de la complexité de la migration
Estimation de l'effort par fonctionnalité
| Fonction | Complexité de la migration |
|---|---|
| HTML de base vers PDF | Très faible |
| Fichier HTML vers PDF | Très faible |
| URL vers PDF | Très faible |
| En-têtes/Pieds de page | Faible |
| Paramètres de la page | Très faible |
| Gestion des clés API | Faible |
Changement de paradigme
Le Shift fondamental de cette migration Kaizen.io réside dans le passage des appels d'API cloud au rendu local en mémoire :
Kaizen.io : HtmlToPdfConverter → Convert(html) → byte[] (via le réseau)
IronPDF : ChromePdfRenderer → RenderHtmlAsPdf(html) → PdfDocument (local)
Avant de commencer
Prérequis
- Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
- Accès à NuGet : possibilité d'installer des packages NuGet
- Licence IronPDF : Obtenez votre clé de licence sur IronPDF
Modifications du paquet NuGet
# Remove Kaizen.io package
dotnet remove package Kaizen.HtmlToPdf
dotnet remove package Kaizen.IO.HtmlToPdf
# Install IronPDF
dotnet add package IronPdf
# Remove Kaizen.io package
dotnet remove package Kaizen.HtmlToPdf
dotnet remove package Kaizen.IO.HtmlToPdf
# Install IronPDF
dotnet add package IronPdf
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"
Identifier l'utilisation de Kaizen.io
# Find all Kaizen.io references
grep -r "using Kaizen\|HtmlToPdfConverter\|ConversionOptions" --include="*.cs" .
grep -r "ConvertUrl\|ConvertHtml\|Kaizen" --include="*.cs" .
# Find all Kaizen.io references
grep -r "using Kaizen\|HtmlToPdfConverter\|ConversionOptions" --include="*.cs" .
grep -r "ConvertUrl\|ConvertHtml\|Kaizen" --include="*.cs" .
Référence API complète
Mappages de classes
| Classe Kaizen.io | Équivalent d'IronPDF |
|---|---|
HtmlToPdfConverter |
ChromePdfRenderer |
ConversionOptions |
ChromePdfRenderOptions |
HeaderOptions |
HtmlHeaderFooter ou TextHeaderFooter |
FooterOptions |
HtmlHeaderFooter ou TextHeaderFooter |
PageSize |
PdfPaperSize |
Orientation |
PdfPaperOrientation |
Mise en correspondance des méthodes
| Méthode Kaizen.io | Équivalent d'IronPDF |
|---|---|
converter.Convert(html) |
renderer.RenderHtmlAsPdf(html) |
converter.ConvertUrl(url) |
renderer.RenderUrlAsPdf(url) |
File.WriteAllBytes(path, bytes) |
pdf.SaveAs(path) |
Mappages de propriétés des options de conversion
| Propriété de Kaizen.io | Équivalent d'IronPDF |
|---|---|
PageSize |
RenderingOptions.PaperSize |
Orientation |
RenderingOptions.PaperOrientation |
MarginTop |
RenderingOptions.MarginTop |
MarginBottom |
RenderingOptions.MarginBottom |
Header.HtmlContent |
RenderingOptions.HtmlHeader.HtmlFragment |
Footer.HtmlContent |
RenderingOptions.HtmlFooter.HtmlFragment |
Mappages de caractères de substitution
| Espace réservé à Kaizen.io | IronPDFPlaceholder |
|---|---|
{page} |
{page} |
{total} |
{total-pages} |
{date} |
{date} |
{title} |
{html-title} |
Exemples de migration de code
Exemple 1 : HTML de base vers PDF
Avant (Kaizen.io):
using Kaizen.IO;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
using Kaizen.IO;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
Imports Kaizen.IO
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdfBytes = converter.Convert(html)
File.WriteAllBytes("output.pdf", pdfBytes)
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var 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.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End Class
L'approche Kaizen.io crée un HtmlToPdfConverter, appelle Convert() pour obtenir un tableau d'octets, puis écrit manuellement les octets dans un fichier en utilisant File.WriteAllBytes(). Cela implique un aller-retour sur le réseau vers le service Kaizen.io.
IronPDF traite tout localement. La méthode RenderHtmlAsPdf() renvoie un objet PdfDocument avec une méthode SaveAs() pratique — aucune manipulation manuelle de tableau d'octets requise et aucune latence réseau. Voir la documentation HTML vers PDF pour des options de rendu supplémentaires.
Exemple 2 : Fichier HTML vers PDF avec paramètres de page
Avant (Kaizen.io):
using Kaizen.IO;
using System;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var htmlContent = File.ReadAllText("input.html");
var options = new ConversionOptions
{
PageSize = PageSize.A4,
Orientation = Orientation.Portrait
};
var pdfBytes = converter.Convert(htmlContent, options);
File.WriteAllBytes("document.pdf", pdfBytes);
}
}
using Kaizen.IO;
using System;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var htmlContent = File.ReadAllText("input.html");
var options = new ConversionOptions
{
PageSize = PageSize.A4,
Orientation = Orientation.Portrait
};
var pdfBytes = converter.Convert(htmlContent, options);
File.WriteAllBytes("document.pdf", pdfBytes);
}
}
Imports Kaizen.IO
Imports System
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim htmlContent = File.ReadAllText("input.html")
Dim options = New ConversionOptions With {
.PageSize = PageSize.A4,
.Orientation = Orientation.Portrait
}
Dim pdfBytes = converter.Convert(htmlContent, options)
File.WriteAllBytes("document.pdf", pdfBytes)
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("document.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("document.pdf");
}
}
Imports IronPdf
Imports System
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
pdf.SaveAs("document.pdf")
End Sub
End Class
L'approche Kaizen.io nécessite de lire manuellement le contenu du fichier HTML avec File.ReadAllText(), de créer un objet ConversionOptions séparé, de passer les deux à la méthode Convert(), puis d'écrire manuellement les octets de résultat dans un fichier.
IronPDF fournit une méthode dédiée RenderHtmlFileAsPdf() qui lit directement le fichier — aucune lecture manuelle du fichier n'est requise. La configuration est définie sur la propriété RenderingOptions du moteur de rendu, conservant ainsi tous les paramètres au même endroit. Les énumérations PdfPaperSize.A4 et PdfPaperOrientation.Portrait correspondent directement aux équivalents de Kaizen.io.
Exemple 3 : URL vers PDF avec en-têtes et pieds de page
Avant (Kaizen.io):
using Kaizen.IO;
using System;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var options = new ConversionOptions
{
Header = new HeaderOptions { HtmlContent = "<div style='text-align:center'>Company Header</div>" },
Footer = new FooterOptions { HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>" },
MarginTop = 20,
MarginBottom = 20
};
var pdfBytes = converter.ConvertUrl("https://example.com", options);
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}
using Kaizen.IO;
using System;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var options = new ConversionOptions
{
Header = new HeaderOptions { HtmlContent = "<div style='text-align:center'>Company Header</div>" },
Footer = new FooterOptions { HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>" },
MarginTop = 20,
MarginBottom = 20
};
var pdfBytes = converter.ConvertUrl("https://example.com", options);
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}
Imports Kaizen.IO
Imports System
Imports System.IO
Module Program
Sub Main()
Dim converter As New HtmlToPdfConverter()
Dim options As New ConversionOptions With {
.Header = New HeaderOptions With {.HtmlContent = "<div style='text-align:center'>Company Header</div>"},
.Footer = New FooterOptions With {.HtmlContent = "<div style='text-align:center'>Page {page} of {total}</div>"},
.MarginTop = 20,
.MarginBottom = 20
}
Dim pdfBytes = converter.ConvertUrl("https://example.com", options)
File.WriteAllBytes("webpage.pdf", pdfBytes)
End Sub
End Module
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader.CenterText = "Company Header";
renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}";
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader.CenterText = "Company Header";
renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}";
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Imports System.IO
Module Program
Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader.CenterText = "Company Header"
renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}"
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Module
Cet exemple illustre plusieurs différences clés en matière de migration. Kaizen.io nécessite des objets imbriqués HeaderOptions et FooterOptions dans ConversionOptions, chacun avec une propriété HtmlContent.IronPDFfournit une configuration plus propre TextHeader et TextFooter avec des propriétés dédiées CenterText, LeftText et RightText.
Note importante : La syntaxe des espaces réservés est différente ! Kaizen.io utilise {total} pour le nombre total de pages, tandisIronPDFutilise {total-pages}. Il s'agit du problème de migration le plus courant : recherchez dans votre code source {total} et remplacez-le par {total-pages}.
La méthode RenderUrlAsPdf() d'IronPDF rend directement n'importe quelle URL avec une exécution JavaScriptcomplète via le moteur Chromium — aucune solution de contournement n'est requise. En savoir plus sur la conversion d'URL en PDF et les en-têtes et pieds de page.
Notes de migration essentielles
Modification de la syntaxe des espaces réservés
Le changement le plus important lors de la migration des en-têtes et des pieds de page est la syntaxe des espaces réservés :
// Kaizen.io placeholders:
"Page {page} of {total}"
//IronPDFplaceholders:
"Page {page} of {total-pages}"
// Kaizen.io placeholders:
"Page {page} of {total}"
//IronPDFplaceholders:
"Page {page} of {total-pages}"
' Kaizen.io placeholders:
"Page {page} of {total}"
' IronPDF placeholders:
"Page {page} of {total-pages}"
Mappage complet des espaces réservés:
{page}→{page}(identique){total}→{total-pages}(DIFFÉRENT !){title}→{html-title}(DIFFÉRENT !){date}→{date}(identique){time}→{time}(identique)
Changement de type de retour
Kaizen.io renvoie directement byte[].IronPDFrenvoie un objet PdfDocument :
// Kaizen.io returns byte[]
byte[] pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);
//IronPDFreturns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Direct save
byte[] bytes = pdf.BinaryData; // Or get bytes if needed
// Kaizen.io returns byte[]
byte[] pdfBytes = converter.Convert(html);
File.WriteAllBytes("output.pdf", pdfBytes);
//IronPDFreturns PdfDocument
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Direct save
byte[] bytes = pdf.BinaryData; // Or get bytes if needed
' Kaizen.io returns byte()
Dim pdfBytes As Byte() = converter.Convert(html)
File.WriteAllBytes("output.pdf", pdfBytes)
' IronPDF returns PdfDocument
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf") ' Direct save
Dim bytes As Byte() = pdf.BinaryData ' Or get bytes if needed
Supprimer la gestion des clés API
Kaizen.io nécessite une authentification de la clé API par demande.IronPDFutilise une clé de licence définie une fois au démarrage de l'application :
// DELETE this Kaizen.io pattern:
var converter = new HtmlToPdfConverter("YOUR_API_KEY");
// IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer(); // No API key needed
// DELETE this Kaizen.io pattern:
var converter = new HtmlToPdfConverter("YOUR_API_KEY");
// IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer(); // No API key needed
' DELETE this Kaizen.io pattern:
Dim converter = New HtmlToPdfConverter("YOUR_API_KEY")
' IronPDF: Set once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Dim renderer = New ChromePdfRenderer() ' No API key needed
Traitement des erreurs de réseau
Supprimez la logique de réessai, la gestion de la limite de débit et le code de temporisation du réseau -IronPDFtraite localement :
// DELETE this Kaizen.io pattern:
int retries = 3;
while (retries > 0)
{
try
{
return converter.Convert(html);
}
catch (RateLimitException)
{
retries--;
Thread.Sleep(1000);
}
}
// IronPDF: Just call the method
return renderer.RenderHtmlAsPdf(html).BinaryData;
// DELETE this Kaizen.io pattern:
int retries = 3;
while (retries > 0)
{
try
{
return converter.Convert(html);
}
catch (RateLimitException)
{
retries--;
Thread.Sleep(1000);
}
}
// IronPDF: Just call the method
return renderer.RenderHtmlAsPdf(html).BinaryData;
' DELETE this Kaizen.io pattern:
Dim retries As Integer = 3
While retries > 0
Try
Return converter.Convert(html)
Catch ex As RateLimitException
retries -= 1
Thread.Sleep(1000)
End Try
End While
' IronPDF: Just call the method
Return renderer.RenderHtmlAsPdf(html).BinaryData
Dépannage
Édition 1 : HtmlToPdfConverter introuvable
Problème : la classe HtmlToPdfConverter n'existe pas dans IronPDF.
Solution : Remplacer par ChromePdfRenderer :
// Kaizen.io
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// Kaizen.io
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' Kaizen.io
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Sujet 2 : ConversionOptions Not Found
Problème : la classe ConversionOptions n'existe pas dans IronPDF.
Solution : Utilisez RenderingOptions sur le moteur de rendu :
// Kaizen.io
var options = new ConversionOptions { PageSize = PageSize.A4 };
converter.Convert(html, options);
// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderHtmlAsPdf(html);
// Kaizen.io
var options = new ConversionOptions { PageSize = PageSize.A4 };
converter.Convert(html, options);
// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderHtmlAsPdf(html);
' Kaizen.io
Dim options As New ConversionOptions With {.PageSize = PageSize.A4}
converter.Convert(html, options)
' IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderHtmlAsPdf(html)
Sujet 3 : Les numéros de page ne fonctionnent pas
Problème : le pied de page affiche littéralement {total} au lieu du nombre de pages.
Solution : Mettre à jour la syntaxe des espaces réservés :
// Kaizen.io syntax (won't work)
"Page {page} of {total}"
//IronPDFsyntax
"Page {page} of {total-pages}"
// Kaizen.io syntax (won't work)
"Page {page} of {total}"
//IronPDFsyntax
"Page {page} of {total-pages}"
Sujet 4 : Méthode de conversion introuvable
Problème : la méthode Convert() n'existe pas sur ChromePdfRenderer.
Solution : Utilisez RenderHtmlAsPdf() :
// Kaizen.io
var pdfBytes = converter.Convert(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdf.BinaryData;
// Kaizen.io
var pdfBytes = converter.Convert(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var pdfBytes = pdf.BinaryData;
' Kaizen.io
Dim pdfBytes = converter.Convert(html)
' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Dim pdfBytes = pdf.BinaryData
Édition 5 : Premier rendu lent
Problème : La première génération du PDF prend 1 à 3 secondes.
Solution :IronPDFinitialise Chromium lors de sa première utilisation. Réchauffement au démarrage de l'application :
// In Program.cs or Startup.cs:
new ChromePdfRenderer().RenderHtmlAsPdf("<html></html>");
// In Program.cs or Startup.cs:
new ChromePdfRenderer().RenderHtmlAsPdf("<html></html>");
' In Program.vb or Startup.vb:
Call New ChromePdfRenderer().RenderHtmlAsPdf("<html></html>")
Liste de contrôle de la migration
Pré-migration
- Identifier toutes les instructions Kaizen.io
using - Paramètres utilisés dans le document
ConversionOptions - Remarquez les modèles d'en-tête/de pied de page et les espaces réservés
- Liste des emplacements des clés API (à supprimer)
- Vérifier la logique de nouvelle tentative/limite de débit (pour la suppression)
- Obtenir une clé de licence IronPDF
Modifications du paquet
- Supprimer le package
Kaizen.HtmlToPdf - Installez le package NuGet
IronPdf:dotnet add package IronPdf - Mettre à jour les importations d'espace de noms
Modifications du code
- Ajouter la configuration de la clé de licence au démarrage
- Remplacez
HtmlToPdfConverterparChromePdfRenderer - Convertir
ConversionOptionsenRenderingOptions - Mettre à jour
Convert()enRenderHtmlAsPdf() - Mise à jour de
ConvertUrl()enRenderUrlAsPdf() - Mise à jour de la syntaxe des espaces réservés (
{total}→{total-pages}) - Remplacez
File.WriteAllBytes()parpdf.SaveAs() - Supprimer la configuration de la clé API
- Supprimer la logique de nouvelle tentative/limite de débit
- Supprimer la gestion des erreurs réseau pour les appels API
Essai
- Tester tous les chemins de génération de PDF
- Vérifier l'affichage de l'en-tête et du pied de page
- Vérifier le rendu de l'espace réservé
- Valider les marges et les dimensions des pages
- Testez la fonctionnalité hors ligne (nouvelle fonctionnalité !)
- Amélioration des performances de référence
Après la migration
- Supprimez la clé API Kaizen.io de la configuration
- Mettre à jour les variables d'environnement
- Supprimer la configuration de limitation de débit
- Mise à jour de la surveillance/des alertes

