Comment migrer de PDFBolt vers IronPDF en C#
La migration de PDFBoltversIronPDFfait passer votre flux de travail PDF .NET d'un service SaaS uniquement dans le nuage avec traitement externe des documents à une bibliothèque auto-hébergée avec une confidentialité totale des données et une génération locale illimitée. Ce guide propose un chemin de migration complet, étape par étape, qui élimine les dépendances réseau, les limites d'utilisation et la transmission de données externes, tout en donnant accès à des fonctionnalités de manipulation de PDF que PDFBoltne peut pas fournir.
Pourquoi migrer de PDFBoltà IronPDF
Le problème du cloud uniquement
PDFBolt est une plateforme SaaS en nuage qui traite vos documents sur des serveurs externes. Bien que pratique pour les prototypes rapides, cette architecture pose des problèmes importants pour les applications de production :
-
Traitement exclusivement dans le cloud : chaque document transite par des serveurs externes ; aucune option d'hébergement sur place n'est disponible, ce qui pourrait dissuader les entreprises ayant besoin de plus de contrôle sur leurs données et leurs processus.
-
Risques liés à la confidentialité des données : Les documents sensibles (contrats, dossiers médicaux, données financières) doivent être transmis à l'extérieur. Les entreprises qui traitent des informations sensibles auront des préoccupations légitimes.
-
Limites d'utilisation : Le niveau gratuit est limité à 100 documents par mois, ce qui peut ne pas suffire aux grandes entreprises. La tarification à l'acte s'applique rapidement aux charges de travail de production.
-
Dépendance au réseau : les pannes d'Internet ou les interruptions de service de PDFBoltsignifient que la génération de vos PDF s'arrête complètement.
-
Latence : L'aller-retour sur le réseau ajoute des secondes à chaque conversion par rapport au traitement local.
-
Problèmes de conformité : Les audits RGPD, HIPAA et SOC2 sont compliqués par le traitement externe des documents.
-
Sécurité des clés API : Les fuites de clés API peuvent entraîner une utilisation non autorisée facturée sur votre compte.
- Dépendance vis-à-vis du fournisseur : votre application échoue si PDFBoltmodifie ses conditions ou cesse ses activités.
Comparaison de PDFBoltet IronPDF
| Concerne | PDFBolt | IronPDF |
|---|---|---|
| Lieu des données | Serveurs externes | Vos serveurs uniquement |
| Limites d'utilisation | 100 gratuit, puis par document | Nombre illimité |
| Internet requis | Oui, toujours | Non |
| Latence | Aller-retour sur le réseau | Millisecondes |
| Conformité | Complexe (sous-traitance) | Simple (traitement local) |
| Modèle de coût | Par document | Une seule fois ou une fois par an |
| Opérations hors ligne | Impossible | Entièrement pris en charge |
| Risques clés de l'API | Leaked = facturé | Clé de licence, pas de risque de facturation |
Pour les équipes qui prévoient d'adopter .NET 10 et C# 14 d'ici 2025 et 2026,IronPDFconstitue une base auto-hébergée qui garantit une confidentialité totale des données et élimine la dépendance à l'égard des services cloud externes.
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 PDFBolt
dotnet remove package PDFBolt
# Install IronPDF
dotnet add package IronPdf
# Remove PDFBolt
dotnet remove package PDFBolt
# 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 PDFBolt
# Find all PDFBoltreferences
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .
# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
# Find all PDFBoltreferences
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .
# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
Référence API complète
Mappages de classes de base
| PDFBolt | IronPDF |
|---|---|
new HtmlToPdfConverter() |
new ChromePdfRenderer() |
PageSize |
PdfPaperSize |
| (returns byte[]) | PdfDocument |
Mappages de méthodes de conversion
| PDFBolt | IronPDF |
|---|---|
converter.ConvertHtmlString(html) |
renderer.RenderHtmlAsPdf(html) |
converter.ConvertUrl(url) |
renderer.RenderUrlAsPdf(url) |
Mappages de méthodes de sortie
| PDFBolt | IronPDF |
|---|---|
File.WriteAllBytes(path, pdf) |
pdf.SaveAs(path) |
| (pdf is byte[]) | pdf.BinaryData |
| (manual stream) | pdf.Stream |
Mappages de configuration de page
| PDFBolt | IronPDF |
|---|---|
converter.PageSize = PageSize.A4 |
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4 |
converter.MarginTop = 20 |
renderer.RenderingOptions.MarginTop = 20 |
converter.MarginBottom = 20 |
renderer.RenderingOptions.MarginBottom = 20 |
converter.MarginLeft = 15 |
renderer.RenderingOptions.MarginLeft = 15 |
converter.MarginRight = 15 |
renderer.RenderingOptions.MarginRight = 15 |
Mappages des espaces réservés de l'en-tête et du pied de page
| PDFBolt | IronPDF |
|---|---|
{pageNumber} |
{page} |
{totalPages} |
{total-pages} |
{date} |
{date} |
{title} |
{html-title} |
Exemples de migration de code
Exemple 1 : HTML de base vers PDF
Avant (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
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
La différence fondamentale ici est le type de retour et le modèle de sauvegarde. PDFBoltrenvoie un HtmlToPdfConverter.ConvertHtmlString() que vous devez écrire manuellement sur le disque en utilisant File.WriteAllBytes(). Cela nécessite d'importer System.IO et de gérer vous-même l'opération sur le fichier.
IronPDF renvoie un objet avec une méthode intégrée. Cette approche orientée objet offre des avantages supplémentaires : vous pouvez manipuler le PDF (ajouter des filigranes, fusionner des documents, ajouter de la sécurité) avant de l'enregistrer. Si vous avez besoin des octets bruts pour la compatibilité avec le code existant, utilisez pdf.BinaryData. Voir la documentation HTML vers PDF pour des options de rendu supplémentaires.
Exemple 2 : Conversion d'une URL en PDF
Avant (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://www.example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://www.example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim pdf = converter.ConvertUrl("https://www.example.com")
File.WriteAllBytes("webpage.pdf", pdf)
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
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;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
Le modèle PDFBoltpour la conversion d'URL suit la même approche que la conversion HTML : ConvertUrl() renvoie byte[], nécessitant File.WriteAllBytes() pour l'enregistrement. Notez que PDFBoltnécessite toujours un aller-retour réseau vers ses serveurs, même si vous récupérez déjà les données à partir d'une URL.
La méthode RenderUrlAsPdf() d'IronPDF renvoie un PdfDocument avec la méthode intégrée SaveAs(). Le principal avantage ici est qu'IronPDF effectue la récupération de l'URL et le rendu du PDF localement - aucune donnée ne quitte votre infrastructure. Notez que la versionIronPDFn'a même pas besoin de using System.IO; pour ce cas simple. En savoir plus sur la conversion d'URL en PDF.
Exemple 3 : Fichier HTML avec paramètres de page personnalisés
Avant (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
converter.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
converter.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.PageSize = PageSize.A4
converter.MarginTop = 20
converter.MarginBottom = 20
Dim html As String = File.ReadAllText("input.html")
Dim pdf As Byte() = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
End Sub
End Class
Après (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
Dim html = File.ReadAllText("input.html")
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End Class
Cet exemple illustre les différences de configuration des pages. PDFBoltdéfinit les propriétés directement sur l'objet convertisseur (converter.PageSize, converter.MarginTop).IronPDFutilise un objet RenderingOptions sur le moteur de rendu (renderer.RenderingOptions.PaperSize, renderer.RenderingOptions.MarginTop).
Les principales correspondances :
PageSize.A4→PdfPaperSize.A4(nom d'énumération différent)MarginTop = 20→RenderingOptions.MarginTop = 20(via RenderingOptions)
Les deux langues utilisent des millimètres pour les valeurs de marge, de sorte que vos valeurs de marge existantes devraient être transférées directement. L'espace de noms IronPdf.Rendering est requis pour accéder à l'énumération PdfPaperSize. Pour des options de configuration de page supplémentaires, voir la documentation sur les options de rendu.
Notes de migration essentielles
Changement de type de retour
PDFBolt renvoie directement byte[] ;IronPDFrenvoie PdfDocument:
// PDFBoltpattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
// PDFBoltpattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
' PDFBoltpattern:
Dim pdf As Byte() = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
' IronPDFpattern:
Dim pdfDocument = renderer.RenderHtmlAsPdf(html)
pdfDocument.SaveAs("output.pdf")
' Or if you need bytes:
Dim pdfBytes As Byte() = renderer.RenderHtmlAsPdf(html).BinaryData
Changement de nom de classe
Le nom de la classe principale passe de "converter-focused" à "renderer-focused" :
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFBolt
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Modification du modèle de configuration
PDFBolt utilise des propriétés directes ;IronPDFutilise RenderingOptions:
// PDFBolt: Direct properties
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
// IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
// PDFBolt: Direct properties
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
// IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
' PDFBolt: Direct properties
converter.PageSize = PageSize.A4
converter.MarginTop = 20
' IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
Élimination des clés API
PDFBolt nécessite la gestion d'une clé API par demande ;IronPDFutilise une clé de licence à usage unique :
// PDFBolt: API key per client (security risk if leaked)
var apiKey = config["PDFBolt:ApiKey"];
var client = new Client(apiKey);
// IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();
// PDFBolt: API key per client (security risk if leaked)
var apiKey = config["PDFBolt:ApiKey"];
var client = new Client(apiKey);
// IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();
' PDFBolt: API key per client (security risk if leaked)
Dim apiKey = config("PDFBolt:ApiKey")
Dim client = New Client(apiKey)
' IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Dim renderer = New ChromePdfRenderer()
Supprimer la gestion des erreurs réseau
Le traitement local signifie qu'il n'y a pas d'erreurs de réseau à gérer :
// PDFBolt: Network error handling required
catch (HttpRequestException ex)
catch (TaskCanceledException)
catch (TimeoutException)
// IronPDF: Remove network-specific catches entirely
// PDFBolt: Network error handling required
catch (HttpRequestException ex)
catch (TaskCanceledException)
catch (TimeoutException)
// IronPDF: Remove network-specific catches entirely
Nouvelles fonctionnalités disponibles
Après avoir migré vers IronPDF, vous bénéficiez de fonctionnalités que PDFBoltne peut pas vous offrir :
// PDF Merging (not available in PDFBolt)
var merged = PdfDocument.Merge(pdf1, pdf2);
// Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>");
// Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret";
// Text Extraction (not available in PDFBolt)
string text = pdf.ExtractAllText();
// PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png");
// PDF Merging (not available in PDFBolt)
var merged = PdfDocument.Merge(pdf1, pdf2);
// Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>");
// Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret";
// Text Extraction (not available in PDFBolt)
string text = pdf.ExtractAllText();
// PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png");
' PDF Merging (not available in PDFBolt)
Dim merged = PdfDocument.Merge(pdf1, pdf2)
' Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>")
' Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret"
' Text Extraction (not available in PDFBolt)
Dim text As String = pdf.ExtractAllText()
' PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png")
Dépannage
Édition 1 : HtmlToPdfConverter introuvable
Problème : la classe HtmlToPdfConverter n'existe pas dans IronPDF.
Solution : Utilisez ChromePdfRenderer :
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFBolt
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Edition 2 : ConvertHtmlString introuvable
Problème : la méthode ConvertHtmlString() n'existe pas.
Solution : Utilisez RenderHtmlAsPdf() :
// PDFBolt
var pdf = converter.ConvertHtmlString(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
// PDFBolt
var pdf = converter.ConvertHtmlString(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
' PDFBolt
Dim pdf = converter.ConvertHtmlString(html)
' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Sujet 3 : ConvertUrl Not Found
Problème : la méthode ConvertUrl() n'existe pas.
Solution : Utilisez RenderUrlAsPdf() :
// PDFBolt
var pdf = converter.ConvertUrl(url);
// IronPDF
var pdf = renderer.RenderUrlAsPdf(url);
// PDFBolt
var pdf = converter.ConvertUrl(url);
// IronPDF
var pdf = renderer.RenderUrlAsPdf(url);
' PDFBolt
Dim pdf = converter.ConvertUrl(url)
' IronPDF
Dim pdf = renderer.RenderUrlAsPdf(url)
Edition 4 : PageSize Enum introuvable
Problème : PageSize L'énumération n'existe pas.
Solution : Utilisez PdfPaperSize de IronPdf.Rendering :
// PDFBolt
converter.PageSize = PageSize.A4;
// IronPDF
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// PDFBolt
converter.PageSize = PageSize.A4;
// IronPDF
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' PDFBolt
converter.PageSize = PageSize.A4
' IronPDF
Imports IronPdf.Rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
Edition 5 : La première génération de PDF est lente
Problème : Le rendu initial prend plus de temps que prévu.
Solution : Le moteur Chromium s'initialise lors de sa première utilisation. Préchauffez si nécessaire :
// Warm up during application startup
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlAsPdf("<html><body></body></html>");
// Warm up during application startup
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlAsPdf("<html><body></body></html>");
' Warm up during application startup
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlAsPdf("<html><body></body></html>")
Liste de contrôle de la migration
Pré-migration
- Recenser toutes les utilisations de PDFBoltdans le code source
- Paramètres de configuration de la page actuelle du document (taille de la page, marges)
- Identifier le code de gestion des clés API à supprimer
- Indiquez toute limitation de débit ou gestion des erreurs réseau à supprimer
- Obtenir une clé de licence IronPDF
Modifications du paquet
- Supprimer le package NuGet
PDFBolt - Installez le package NuGet
IronPdf:dotnet add package IronPdf - Ajouter l'espace de noms
using IronPdf; - Ajouter
using IronPdf.Rendering;pour les énumérations de format de papier
Modifications du code
- Ajouter la configuration de la clé de licence au démarrage
- Remplacez
HtmlToPdfConverterparChromePdfRenderer - Remplacez
ConvertHtmlString()parRenderHtmlAsPdf() - Remplacez
ConvertUrl()parRenderUrlAsPdf() - Remplacez
File.WriteAllBytes()parpdf.SaveAs() - Mettre à jour
PageSizeenRenderingOptions.PaperSize - Mettre à jour les propriétés de marge à
RenderingOptions.MarginTop, etc. - Supprimer le code de gestion des clés API
- Supprimer le code de gestion des limites de débit
- Supprimer la gestion des erreurs réseau
Après la migration
- Supprimer la clé API des fichiers de configuration
- Supprimer la clé API des gestionnaires de secrets
- Exécutez tous les tests comparant la sortie PDF
- Vérifiez que les dimensions et les marges des pages s'affichent correctement.
- Envisagez d'ajouter de nouvelles fonctionnalités (filigranes, sécurité, fusion).

