Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von Easy PDF SDK zu IronPDF in C#

Migrieren Sie von Einfaches PDF-SDKzu IronPDF: Vollständige C#-Migrationsanleitung

BCL Einfaches PDF-SDKist eine traditionelle Lösung für die PDF-Erzeugung in Windows-Umgebungen, die virtuelle Druckertreiber und Microsoft Office-Automatisierung nutzt. Die reine Windows-Architektur, die COM-Interop-Abhängigkeiten und die Notwendigkeit interaktiver Benutzersitzungen stellen jedoch eine grundlegende Herausforderung für die Bereitstellung moderner Anwendungen dar. Dieses umfassende Handbuch bietet einen schrittweisen Migrationspfad von Einfaches PDF-SDKzuIronPDF- einer nativen .NET-PDF-Bibliothek mit plattformübergreifender Unterstützung, Chromium-basiertem Rendering und Container-Bereitstellungsfunktionen.

Warum von Einfaches PDF-SDKabwandern?

Easy PDF SDK basiert auf mehreren Legacy-Technologien, die in modernen Entwicklungsumgebungen erhebliche Probleme bei der Bereitstellung und Wartung verursachen.

Gängige Probleme bei der Bereitstellung von Easy PDF SDK

Entwickler stoßen bei der Arbeit mit Einfaches PDF-SDKhäufig auf diese Probleme:

  • bcl.easypdf.interop.easypdfprinter.dll Fehler beim Laden
  • COM-Objekt, das von seinem zugrunde liegenden RCW getrennt wurde, kann nicht verwendet werden
  • Zeitüberschreitung beim Warten auf den Abschluss des Druckauftrags
  • Der Druckvorgang ist fehlgeschlagen, weil der Dienst nicht ausgeführt wird
  • Fehler: Zugriff verweigert (interaktive Sitzung erforderlich)
  • Kann Drucker nicht finden: BCL easyPDF Drucker

Diese Fehler rühren von der grundlegenden Architektur von Einfaches PDF-SDKher - sie erfordert virtuelle Druckertreiber, COM-Interop und interaktive Windows-Sitzungen, die in modernen Serverumgebungen einfach nicht vorhanden sind.

Einfaches PDF-SDKvs. IronPDF: Hauptunterschiede

Feature Einfaches PDF-SDK IronPDF
Plattform Nur für Windows Windows, Linux, macOS, Docker
Büro-Abhängigkeit Erforderlich Keine
Installation Komplexe MSI + Druckertreiber + COM Einfaches NuGet-Paket
Server-Unterstützung Erfordert eine interaktive Sitzung Läuft kopflos
HTML-Rendering Basic (bürobasiert) Vollständiges Chromium (CSS3, JS)
.NET-Unterstützung Eingeschränktes .NET Core Vollständig .NET 5/6/7/8/9
Async-Muster Rückrufbasiert Natives async/await
Container-Unterstützung Kann nicht ausgeführt werden Vollständig Docker/Kubernetes

Plattform-Einschränkungen

Die ausschließliche Abhängigkeit von Windows-Systemen, die eine Microsoft Office-Installation für die Konvertierung erfordern, schließt die Unterstützung von Linux, macOS oder containerisierten Umgebungen wie Docker aus. Diese Abhängigkeit macht die Einrichtung von Servern umständlich und beschränkt die Annahme von Diensten auf Windows-Umgebungen - eine erhebliche Einschränkung für Teams, die plattformübergreifende DevOps praktizieren oder Container für die Bereitstellung verwenden.

Vorbereitung auf die Migration

Voraussetzungen

Stellen Sie sicher, dass Ihre Umgebung diese Anforderungen erfüllt:

  • .NET Framework 4.6.2+ oder .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ oder VS Code mit C#-Erweiterung
  • NuGet Package Manager Zugang
  • IronPDF-Lizenzschlüssel (kostenlose Testversion erhältlich unter ironpdf.com)

Audit Einfaches PDF-SDKVerwendung

Führen Sie diese Befehle in Ihrem Lösungsverzeichnis aus, um alle Easy PDF SDK-Referenzen zu identifizieren:

# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .

# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .

# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .

# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .
# Find all BCL using statements
grep -r "using BCL" --include="*.cs" .

# Find Printer/PDFDocument usage
grep -r "Printer\|PDFDocument\|PDFConverter\|HTMLConverter" --include="*.cs" .

# Find COM interop references
grep -r "easyPDF\|BCL.easyPDF" --include="*.csproj" .

# Find configuration settings
grep -r "PageOrientation\|TimeOut\|PrintOffice" --include="*.cs" .
SHELL

Bahnbrechende Änderungen, die zu erwarten sind

Einfaches PDF-SDK-Muster Änderung erforderlich
neuer Drucker() Verwenden Sie ChromePdfRenderer
PrintOfficeDocToPDF() Office-Konvertierung anders gehandhabt
RenderHTMLToPDF() RenderHtmlAsPdf()
COM-Interop-Referenzen Vollständig entfernen
Druckertreiber-Konfiguration Nicht erforderlich
BeginPrintToFile() Rückrufe Natives async/await
Anforderungen für interaktive Sitzungen Läuft kopflos
1-basierte Seitenindizierung 0-basierte Indizierung
Zeitüberschreitung in Sekunden Zeitüberschreitung in Millisekunden

Schritt-für-Schritt-Migrationsprozess

Schritt 1: Einfaches PDF-SDKentfernen

Easy PDF SDK wird in der Regel über ein MSI-Installationsprogramm, manuelle DLL-Referenzen oder eine GAC-Registrierung installiert. Entfernen Sie alle Verweise:

  1. BCL EasyPDF SDK aus Programme und Funktionen deinstallieren
  2. Entfernen Sie DLL-Referenzen aus Ihrem Projekt
  3. COM-Interop-Referenzen entfernen
  4. GAC-Einträge bereinigen, falls vorhanden

Schritt 2:IronPDFinstallieren

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

Oder über die Paketmanager-Konsole:

Install-Package IronPdf

Schritt 3: Aktualisieren der Namensraum-Referenzen

Ersetzen Sie die Namensräume von Einfaches PDF-SDKdurch IronPDF:

// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;

// Add these
using IronPdf;
using IronPdf.Rendering;
// Remove these
using BCL.easyPDF;
using BCL.easyPDF.Interop;
using BCL.easyPDF.PDFConverter;
using BCL.easyPDF.Printer;

// Add these
using IronPdf;
using IronPdf.Rendering;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Komplette API-Migrationsreferenz

Kernklassen-Zuordnung

Einfache PDF-SDK-Klasse IronPDF-Äquivalent Notizen
Drucker ChromePdfRenderer Hauptkonvertierungsklasse
PDFDocument PdfDocument Dokumentmanipulation
HTML-Konverter ChromePdfRenderer HTML-Konvertierung
Druckerkonfiguration ChromePdfRenderOptions Rendering-Optionen
Seitenausrichtung PdfPaperOrientierung Ausrichtung der Seite
Seitengröße PdfPaperSize Papierformat
SecurityHandler PdfDocument.SecuritySettings Sicherheitsoptionen

PDF-Erstellungsmethoden

Einfache PDF-SDK-Methode IronPDF-Methode Notizen
printer.RenderHTMLToPDF(html, path) renderer.RenderHtmlAsPdf(html).SaveAs(path) HTML-Zeichenkette
printer.RenderUrlToPDF(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path) URL-Konvertierung
htmlConverter.ConvertHTML(html, doc) renderer.RenderHtmlAsPdf(html) HTML zu PDF
htmlConverter.ConvertURL(url, doc) renderer.RenderUrlAsPdf(url) URL zu PDF

PDF-Bearbeitungsmethoden

Einfache PDF-SDK-Methode IronPDF-Methode Notizen
doc.Append(doc2) PdfDocument.Merge(pdf1, pdf2) PDFs zusammenführen
doc.ExtractPages(start, end) pdf.CopyPages(start, end) Seiten extrahieren
doc.DeletePage(index) pdf.RemovePage(index) Seite entfernen
doc.GetPageCount() pdf.PageCount Anzahl der Seiten
doc.Save(Pfad) pdf.SaveAs(Pfad) PDF speichern
doc.Close() pdf.Dispose() oder Verwendung Bereinigung
doc.ExtractText() pdf.ExtractAllText() Textextraktion

Konfigurationsoptionen

Einfache PDF-SDK-Option IronPDF-Option Notizen
config.TimeOut RenderingOptions.Timeout Zeitüberschreitung (ms)
config.PageOrientation = Querformat RenderingOptions.PaperOrientation = Querformat Orientierung
config.PageSize = A4 RenderingOptions.PaperSize = PdfPaperSize.A4 Papierformat
config.MarginTop/Bottom/Left/Right RenderingOptions.MarginTop, usw. Margen

Beispiele für die Code-Migration

HTML-String in PDF konvertieren

Einfache PDF-SDK-Implementierung:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
        pdf.Save("output.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertHTML("<h1>Hello World</h1>", pdf);
        pdf.Save("output.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF macht die separate HTMLConverter-Klasse und die manuellen Close()-Aufrufe überflüssig, was zu einem saubereren, besser wartbaren Code führt.

URL zu PDF-Konvertierung

Einfache PDF-SDK-Implementierung:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertURL("https://example.com", pdf);
        pdf.Save("webpage.pdf");
        pdf.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf = new PDFDocument();
        var htmlConverter = new HTMLConverter();
        htmlConverter.ConvertURL("https://example.com", pdf);
        pdf.Save("webpage.pdf");
        pdf.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Mehrere PDFs zusammenführen

Einfache PDF-SDK-Implementierung:

// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf1 = new PDFDocument("document1.pdf");
        var pdf2 = new PDFDocument("document2.pdf");
        pdf1.Append(pdf2);
        pdf1.Save("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
// NuGet: Install-Package BCL.EasyPDF
using BCL.EasyPDF;
using System;

class Program
{
    static void Main()
    {
        var pdf1 = new PDFDocument("document1.pdf");
        var pdf2 = new PDFDocument("document2.pdf");
        pdf1.Append(pdf2);
        pdf1.Save("merged.pdf");
        pdf1.Close();
        pdf2.Close();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die statische Merge-Methode vonIronPDFakzeptiert mehrere Dokumente direkt, wodurch das manuelle Append-Schleifenmuster entfällt.

Passwortschutz

IronPDF-Implementierung:

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;

pdf.SaveAs("protected.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserEdits = PdfEditSecurity.NoEdit;

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

Kopf- und Fußzeilen

Easy PDF SDK bietet keine native Unterstützung für Kopf- und Fußzeilen - Kopf- und Fußzeilen müssen in den HTML-Quelltext eingefügt werden.IronPDFbietet spezielle Funktionen:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:12px; font-family:Arial;'>
            Company Name - Confidential
        </div>",
    DrawDividerLine = true,
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true,
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:12px; font-family:Arial;'>
            Company Name - Confidential
        </div>",
    DrawDividerLine = true,
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align:center; font-size:10px;'>
            Page {page} of {total-pages}
        </div>",
    DrawDividerLine = true,
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Content</h1>");
pdf.SaveAs("with_headers.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Weitere Optionen finden Sie in der Kopf- und Fußzeilen-Dokumentation.

Asynchrone PDF-Erzeugung

Easy PDF SDK verwendet Callback-basierte asynchrone Muster.IronPDFunterstützt natives async/await:

Einfache PDF-SDK-Implementierung:

using BCL.easyPDF;

Printer printer = new Printer();

// BCL uses callback-based async
printer.BeginPrintToFile(
    "https://example.com",
    "output.pdf",
    OnPrintComplete,
    OnPrintError
);

Console.ReadLine();
printer.Dispose();
using BCL.easyPDF;

Printer printer = new Printer();

// BCL uses callback-based async
printer.BeginPrintToFile(
    "https://example.com",
    "output.pdf",
    OnPrintComplete,
    OnPrintError
);

Console.ReadLine();
printer.Dispose();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

using IronPdf;
using System.Threading.Tasks;

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

        // Native async/await
        var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
        await pdf.SaveAsAsync("output.pdf");

        Console.WriteLine("PDF created: output.pdf");
    }
}
using IronPdf;
using System.Threading.Tasks;

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

        // Native async/await
        var pdf = await renderer.RenderUrlAsPdfAsync("https://example.com");
        await pdf.SaveAsAsync("output.pdf");

        Console.WriteLine("PDF created: output.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Kritische Hinweise zur Migration

Seitenindex ändern

Easy PDF SDK verwendet eine 1-basierte Indizierung.IronPDFverwendet eine 0-basierte Indizierung:

// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);

// IronPDF: 0-based
pdf.CopyPages(0, 4);
// Easy PDF SDK: 1-based
doc.ExtractPages(1, 5);

// IronPDF: 0-based
pdf.CopyPages(0, 4);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Timeout in Millisekunden

Easy PDF SDK verwendet Sekunden für Timeout-Werte.IronPDFverwendet Millisekunden:

// Easy PDF SDK: seconds
config.TimeOut = 120;

// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;
// Easy PDF SDK: seconds
config.TimeOut = 120;

// IronPDF: milliseconds
renderer.RenderingOptions.Timeout = 120000;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ASP.NET Core Integration

Easy PDF SDK hat im Webkontext aufgrund der Anforderungen an interaktive Sitzungen Schwierigkeiten.

IronPDF-Muster:

[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate")]
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");

        return File(pdf.BinaryData, "application/pdf", "report.pdf");
    }

    [HttpGet("generate-async")]
    public async Task<IActionResult> GeneratePdfAsync()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");

        return File(pdf.Stream, "application/pdf", "report.pdf");
    }
}
[ApiController]
[Route("[controller]")]
public class PdfController : ControllerBase
{
    [HttpGet("generate")]
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Report</h1>");

        return File(pdf.BinaryData, "application/pdf", "report.pdf");
    }

    [HttpGet("generate-async")]
    public async Task<IActionResult> GeneratePdfAsync()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Report</h1>");

        return File(pdf.Stream, "application/pdf", "report.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Docker-Bereitstellung

Easy PDF SDK kann nicht in Docker-Containern ausgeführt werden - es benötigt Windows-Container, Microsoft Office, virtuelle Druckertreiber und interaktive Desktop-Sitzungen. Dies ist grundsätzlich unvereinbar mit der Containerisierung.

IronPDF Docker-Konfiguration:

FROM mcr.microsoft.com/dotnet/aspnet:8.0

# Install Chromium dependencies
RUN apt-get update && apt-get install -y \
    libc6 libgdiplus libx11-6 libxcomposite1 \
    libxdamage1 libxrandr2 libxss1 libxtst6 \
    libnss3 libatk-bridge2.0-0 libgtk-3-0 \
    libgbm1 libasound2 fonts-liberation \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Fehlerbehebung bei allgemeinen Migrationsproblemen

Ausgabe: Drucker nicht gefunden

Symptom: Kann keinen Drucker finden: BCL easyPDF Drucker

Lösung:IronPDFbenötigt keine Druckertreiber:

// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Just use the renderer directly
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Thema: COM-Interop-Fehler

Symptom: DLL-Fehler beim Laden oder RCW-Fehler

Lösung: Entfernen Sie alle COM-Referenzen und verwenden Sie die verwaltete API von IronPDF.

Problem: Zeitüberschreitung auf dem Server

Symptom: PDF-Erzeugung bleibt auf dem Webserver hängen

Lösung:IronPDFläuft ohne interaktive Sitzungen:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.Timeout = 60000; // Reliable timeout
var pdf = renderer.RenderHtmlAsPdf(html);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Problem: Hintergrund wird nicht gedruckt

Symptom: Fehlende CSS-Hintergründe

Lösung: Aktivieren Sie den Hintergrunddruck:

renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Post-Migrations-Checkliste

Überprüfen Sie nach Abschluss der Codemigration Folgendes:

  • [Überprüfen Sie die Qualität der PDF-Ausgabe mit der Chromium-Engine von IronPDF
  • [Testen Sie alle Randfälle mit komplexem HTML/CSS
  • [Validieren, dass die Serverbereitstellung ohne interaktive Sitzungen funktioniert
  • [Test der Docker/Container-Bereitstellung
  • [BCL EasyPDF Installer aus der Bereitstellung entfernen
  • [Office-Installation von den Servern entfernen (nicht mehr benötigt)
  • [CI/CD-Pipelines mit neuem NuGet-Paket aktualisieren

Zukunftssicherheit für Ihre PDF-Infrastruktur

Mit .NET 10 am Horizont und C# 14, das neue Sprachfunktionen einführt, gewährleistet die Wahl einer plattformübergreifenden PDF-Bibliothek die Kompatibilität mit sich entwickelnden Bereitstellungsmodellen. Die Unterstützung vonIronPDFfür Linux, Docker und Cloud-native Architekturen bedeutet, dass sich Ihre Investition in die Migration auszahlt, wenn Sie Ihre Projekte bis ins Jahr 2025 und 2026 ausdehnen - ohne die Beschränkungen des Easy PDF SDK, das nur für Windows verfügbar ist.

Zusätzliche Ressourcen


Durch die Migration von Einfaches PDF-SDKzuIronPDFwerden Abhängigkeiten von virtuellen Druckern, COM-Interop-Probleme und Beschränkungen, die nur für Windows gelten, beseitigt. Die Umstellung auf Chromium-basiertes Rendering bietet hervorragende CSS3- und JavaScript-Unterstützung und ermöglicht die Bereitstellung in Docker-, Kubernetes- und Cloud-Umgebungen, was mit der bisherigen Architektur von Einfaches PDF-SDKnicht möglich war.

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