Passer au contenu du pied de page
GUIDES DE MIGRATION

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 :

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Latence : L'aller-retour sur le réseau ajoute des secondes à chaque conversion par rapport au traitement local.

  6. Problèmes de conformité : Les audits RGPD, HIPAA et SOC2 sont compliqués par le traitement externe des documents.

  7. 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.

  8. 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

  1. Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Accès à NuGet : possibilité d'installer des packages NuGet
  3. 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
SHELL

Configuration de la licence

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

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" .
SHELL

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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.A4PdfPaperSize.A4 (nom d'énumération différent)
  • MarginTop = 20RenderingOptions.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
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

É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()
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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>")
$vbLabelText   $csharpLabel

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 HtmlToPdfConverter par ChromePdfRenderer
  • Remplacez ConvertHtmlString() par RenderHtmlAsPdf()
  • Remplacez ConvertUrl() par RenderUrlAsPdf()
  • Remplacez File.WriteAllBytes() par pdf.SaveAs()
  • Mettre à jour PageSize en RenderingOptions.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).

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi