Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von PDFBolt zu IronPDF in C#

Durch die Migration von PDFBolt zu IronPDF wird Ihr .NET-PDF-Workflow von einem reinen Cloud-SaaS-Dienst mit externer Dokumentenverarbeitung zu einer selbst gehosteten Bibliothek mit vollständigem Datenschutz und unbegrenzter lokaler Generierung. Dieser Leitfaden bietet einen umfassenden, schrittweisen Migrationspfad, der Netzwerkabhängigkeiten, Nutzungsbeschränkungen und externe Datenübertragungen eliminiert und gleichzeitig den Zugang zu PDF-Bearbeitungsfunktionen ermöglicht, die PDFBolt nicht bieten kann.

Warum von PDFBolt zu IronPDF migrieren

Das Cloud-Only-Problem

PDFBolt ist eine Cloud-only SaaS-Plattform, die Ihre Dokumente auf externen Servern verarbeitet. Diese Architektur ist zwar praktisch für schnelle Prototypen, stellt aber für Produktionsanwendungen eine große Herausforderung dar:

  1. Verarbeitung ausschließlich in der Cloud: Jedes Dokument durchläuft externe Server – eine selbstgehostete Option steht nicht zur Verfügung, was Unternehmen abschrecken könnte, die mehr Kontrolle über ihre Daten und Prozesse benötigen.

  2. Datenschutzrisiken: Sensible Dokumente (Verträge, Krankenakten, Finanzdaten) müssen extern übermittelt werden. Unternehmen, die mit sensiblen Informationen arbeiten, haben berechtigte Bedenken.

  3. Nutzungsbeschränkungen: Das kostenlose Kontingent ist auf 100 Dokumente pro Monat begrenzt, was für größere Unternehmen möglicherweise nicht ausreicht. Der Preis pro Dokument summiert sich bei Produktionsaufträgen schnell.

  4. Netzwerkabhängigkeit: Bei Internetausfällen oder Ausfallzeiten von PDFBolt wird die PDF-Generierung vollständig unterbrochen.

  5. Latenz: Die Netzwerk-Roundtrip-Zeit verlängert jede Konvertierung um Sekunden im Vergleich zur lokalen Verarbeitung.

  6. Compliance-Probleme: Die Durchführung von Audits gemäß DSGVO, HIPAA und SOC2 wird durch die externe Dokumentenverarbeitung erschwert.

  7. Sicherheit der API-Schlüssel: Durchgesickerte API-Schlüssel können zu unautorisierter Nutzung führen, die Ihrem Konto in Rechnung gestellt wird.

  8. Abhängigkeit vom Anbieter: Ihre Anwendung schlägt fehl, wenn PDFBolt die Bedingungen ändert oder den Betrieb einstellt.

PDFBolt vs IronPDFVergleich

Betrifft PDFBolt IronPDF
Datenstandort Externe Server Nur Ihre Server
Nutzungseinschränkungen 100 kostenlos, dann pro Dokument Unbegrenzt
Internet erforderlich Ja, immer Nein
Latenzzeit Netzwerk-Round-Trip Millisekunden
Konformität Komplex (externe Bearbeitung) Einfach (lokale Verarbeitung)
Kostenmodell Pro Dokument Einmalig oder jährlich
Offline-Betrieb Unmöglich Vollständig unterstützt
API Hauptrisiken Durchgesickert = in Rechnung gestellt Lizenzschlüssel, kein Abrechnungsrisiko

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 bzw. 2026 planen, bietet IronPDF eine selbst gehostete Grundlage, die vollständigen Datenschutz gewährleistet und die Abhängigkeit von externen Cloud-Diensten beseitigt.


Bevor Sie beginnen

Voraussetzungen

  1. .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
  3. IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.

NuGet-Paketänderungen

# 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

Lizenz-Konfiguration

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

Die Verwendung von PDFBolt erkennen

# Find all PDFBolt references
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .

# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
# Find all PDFBolt references
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .

# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
SHELL

Komplette API-Referenz

Kernklassen-Zuordnungen

PDFBolt IronPDF
new HtmlToPdfConverter() new ChromePdfRenderer()
PageSize PdfPaperSize
(gibt byte[] zurück)_ PdfDocument

Konvertierungsmethoden-Zuordnungen

PDFBolt IronPDF
converter.ConvertHtmlString(html) renderer.RenderHtmlAsPdf(html)
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url)

Zuordnungen von Ausgabemethoden

PDFBolt IronPDF
File.WriteAllBytes(path, pdf) pdf.SaveAs(path)
(pdf ist byte[]) pdf.BinaryData
(manueller Stream)_ pdf.Stream

Zuordnungen der Seitenkonfiguration

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

Kopf-/Fußzeilen-Platzhalter-Zuordnungen

PDFBolt IronPDF
{pageNumber} {page}
{totalPages} {total-pages}
{date} {date}
{title} {html-title}

Beispiele für die Code-Migration

Beispiel 1: Grundlegendes HTML zu PDF

Vor (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

Nach (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

Der grundlegende Unterschied ist der Rückgabetyp und das Speichermuster. PDFBolt s HtmlToPdfConverter.ConvertHtmlString() gibt einen byte[] zurück, den Sie manuell mit File.WriteAllBytes() auf die Festplatte schreiben müssen. Dies erfordert den Import von System.IO und die manuelle Bearbeitung der Dateivorgänge.

IronPDF's ChromePdfRenderer.RenderHtmlAsPdf() gibt ein PdfDocument Objekt mit einer eingebauten SaveAs() Methode zurück. Dieser objektorientierte Ansatz bietet zusätzliche Vorteile: Sie können die PDF-Datei vor dem Speichern manipulieren (Wasserzeichen hinzufügen, Dokumente zusammenführen, Sicherheit hinzufügen). Falls Sie die Rohbytes zur Kompatibilität mit bestehendem Code benötigen, verwenden Sie pdf.BinaryData. Weitere Rendering-Optionen finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Konvertierung von URL in PDF

Vor (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

Nach (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

Das PDFBolt-Muster für die URL-Konvertierung folgt dem gleichen Ansatz wie bei der HTML-Konvertierung: ConvertUrl() gibt byte[] zurück, wofür File.WriteAllBytes() zum Speichern benötigt wird. Beachten Sie, dass PDFBolt immer noch einen Netzwerk-Roundtrip zu seinen Servern benötigt, auch wenn Sie bereits von einer URL abrufen.

Die Methode RenderUrlAsPdf() von IronPDF gibt einen Wert PdfDocument mit der integrierten Methode SaveAs() zurück. Der Hauptvorteil besteht darin, dass IronPDF den URL-Abruf und das PDF-Rendering lokal durchführt - keine Daten verlassen Ihre Infrastruktur. Beachten Sie, dass die IronPDFVersion für diesen einfachen Fall nicht einmal using System.IO; benötigt. Erfahren Sie mehr über die URL in PDF Konvertierung.

Beispiel 3: HTML-Datei mit benutzerdefinierten Seiteneinstellungen

Vor (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

Nach (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

Dieses Beispiel zeigt die Unterschiede in der Seitenkonfiguration. PDFBolt setzt Eigenschaften direkt auf dem Konverterobjekt (converter.PageSize, converter.MarginTop).IronPDF verwendet ein RenderingOptions Objekt auf dem Renderer (renderer.RenderingOptions.PaperSize, renderer.RenderingOptions.MarginTop).

Die wichtigsten Mappings:

  • PageSize.A4PdfPaperSize.A4 (anderer Enum-Name)
  • MarginTop = 20RenderingOptions.MarginTop = 20 (via RenderingOptions)

Beide verwenden Millimeter für Randwerte, so dass Ihre vorhandenen Randwerte direkt übertragen werden sollten. Der Namespace IronPdf.Rendering wird für den Zugriff auf die Enumeration PdfPaperSize benötigt. Weitere Optionen für die Seitenkonfiguration finden Sie in der Dokumentation der Darstellungsoptionen.


Kritische Hinweise zur Migration

Rückgabetyp ändern

PDFBolt gibt byte[] direkt zurück;IronPDF gibt PdfDocument zurück:

// PDFBolt pattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);

//IronPDF pattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");

// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
// PDFBolt pattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);

//IronPDF pattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");

// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
' PDFBolt pattern:
Dim pdf As Byte() = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)

' IronPDF pattern:
Dim pdfDocument = renderer.RenderHtmlAsPdf(html)
pdfDocument.SaveAs("output.pdf")

' Or if you need bytes:
Dim pdfBytes As Byte() = renderer.RenderHtmlAsPdf(html).BinaryData
$vbLabelText   $csharpLabel

Änderung der Klassennamen

Der Name der Hauptklasse wird von "Konverter" in "Renderer" geändert:

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

Änderung von Konfigurationsmustern

PDFBolt verwendet direkte Eigenschaften;IronPDF verwendet 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

API-Schlüssel-Eliminierung

PDFBolt erfordert die Verwaltung von API-Schlüsseln pro Anfrage;IronPDF verwendet einen einmaligen Lizenzschlüssel:

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

Entfernen der Netzwerk-Fehlerbehandlung

Lokale Verarbeitung bedeutet, dass keine Netzwerkfehler zu behandeln sind:

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

Neue Funktionen verfügbar

Nach der Migration auf IronPDF erhalten Sie Funktionen, die PDFBolt nicht bieten kann:

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

Fehlerbehebung

Ausgabe 1: HtmlToPdfConverter nicht gefunden

Problem: Die Klasse HtmlToPdfConverter existiert nicht in IronPDF.

Lösung: Verwenden Sie 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

Ausgabe 2: ConvertHtmlString nicht gefunden

Problem: Die Methode ConvertHtmlString() existiert nicht.

Lösung: Verwenden Sie 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

Ausgabe 3: ConvertUrl nicht gefunden

Problem: Die Methode ConvertUrl() existiert nicht.

Lösung: Verwenden Sie 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

Ausgabe 4: PageSize Enum nicht gefunden

Problem: PageSize enum existiert nicht.

Lösung: Verwenden Sie PdfPaperSize von 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

Ausgabe 5: Erste PDF-Erzeugung ist langsam

Problem: Das erste Rendern dauert länger als erwartet.

Lösung: Die Chromium-Engine initialisiert sich bei der ersten Verwendung. Bei Bedarf vorwärmen:

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

Migrations-Checkliste

Vor der Migration

  • Alle PDFBolt-Verwendungen im Quellcode erfassen
  • Dokumentieren Sie die aktuellen Seitenkonfigurationseinstellungen (Seitengröße, Ränder)
  • API-Schlüsselverwaltungscode identifizieren, der entfernt werden soll
  • Geben Sie alle Ratenbegrenzungen oder Netzwerkfehlerbehandlungen an, die gelöscht werden sollen -IronPDF-Lizenzschlüssel erhalten

Paketänderungen

  • Entfernen Sie das NuGet Paket PDFBolt
  • Installieren Sie das NuGet Paket IronPdf: dotnet add package IronPdf
  • Füge den Namespace using IronPdf; hinzu
  • Fügen Sie using IronPdf.Rendering; für Papiergrößen-Enumerationen hinzu

Code-Änderungen

  • Lizenzschlüsselkonfiguration beim Start hinzufügen
  • Ersetzen Sie HtmlToPdfConverter durch ChromePdfRenderer
  • Ersetzen Sie ConvertHtmlString() durch RenderHtmlAsPdf()
  • Ersetzen Sie ConvertUrl() durch RenderUrlAsPdf()
  • Ersetzen Sie File.WriteAllBytes() durch pdf.SaveAs()
  • Aktualisierung von PageSize auf RenderingOptions.PaperSize
  • Aktualisiere die Randeigenschaften auf RenderingOptions.MarginTop, usw.
  • API-Schlüsselverwaltungscode entfernen
  • Code zur Ratenbegrenzung entfernen
  • Netzwerkfehlerbehandlung entfernen

Nach der Migration

  • API-Schlüssel aus Konfigurationsdateien löschen
  • API-Schlüssel aus Secret Managern entfernen
  • Führen Sie alle Tests durch und vergleichen Sie die PDF-Ausgabe.
  • Überprüfen Sie, ob Seitengrößen und Ränder korrekt dargestellt werden.
  • Erwägen Sie die Hinzufügung neuer Funktionen (Wasserzeichen, Sicherheit, Zusammenführung)

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an