Wie man Fonts in HTML-zu-PDF-Konvertierung verwaltet
EO.Pdf stellt mehrere architektonische Herausforderungen dar, die Entwicklungsteams dazu veranlassen, Alternativen zu bewerten. Das Verständnis dieser Aspekte ist für die Planung Ihrer Migrationsstrategie unerlässlich.
Die EO.Pdf-Probleme
-
Gebündelte Chromium-Fußabdruck: EO.Pdf (aktuelle NuGet-Version 26.1.34, März 2026) liefert seinen eigenen Chromium-basierten Renderer, was den Installations-Fußabdruck im Vergleich zu nicht-Chromium-Bibliotheken erhöht und Gewicht zu Docker-Images und CI/CD-Pipelines hinzufügt.
-
Altarchitektur-Gepäck: EO.Pdf's HTML-zu-PDF-Converter wurde ursprünglich auf einem eingebetteten Internet Explorer / Trident-Engine aufgebaut, bevor das Projekt auf einen Chromium-basierten Renderer wechselte. Der Übergang hat einige API-Eigenheiten und Verhaltensunterschiede zwischen den Versionen hinterlassen.
-
Nur Windows auf .NET Core: Trotz der Vermarktung als "plattformübergreifend" besagt die eigene .NET Core-Dokumentation von Essential Objects, dass EO.Pdf nur .NET Core 3.1+ und .NET 5/6 auf Windows unterstützt – Linux und macOS werden nicht offiziell unterstützt.
-
Statische globale Optionen: Der primäre HTML-zu-PDF-Einstiegspunkt von EO.Pdf ist die statische
HtmlToPdf-Klasse mit gemeinsam genutzterHtmlToPdf.Options. Die Veränderung dieses globalen Zustandes von mehreren Threads aus ist nicht sicher und ist unangenehm in multi-mandanten Webanwendungen. - Kommerzielle Lizenzpflicht: EO.Pdf wird als Einzel-, 3-Lizenz-Bundle, Unternehmens- und Unternehmens-Plus-Stufe verkauft (keine dauerhafte kostenlose Stufe — nur ein 30-tägiger Wasserzeichen-Test). Genauere Preise finden sich auf der Bestellseite.
Architektur-Vergleich
| Aspekt | EO.Pdf | IronPDF |
|---|---|---|
| Renderer | Gebündeltes Chromium (von IE/Trident migriert) | Eingebettetes Chromium |
| Legacy-Probleme | IE/Trident-Migrations-Gepäck | Von Anfang an auf Chromium aufgebaut |
| Windows, Linux, macOS, Docker, Azure, AWS. | Nur Windows auf .NET Core | Windows, Linux, macOS, Docker, Azure |
| Konfiguration | Statisch HtmlToPdf.Options (nicht thread-sicher) |
Instanzbasiert ChromePdfRenderer (thread-sicher) |
| API-Entwurf | Gemischt (HtmlToPdf statisch + ACM-Objektmodell) |
Vereinheitlicht ChromePdfRenderer + HTML/CSS |
| Lizenzmodell | Einzel- / 3-Lizenz / Unternehmens- / Unternehmens-Plus (30-tägiger Test) | Pro Entwicklerkommerziell; kostenlose Entwickler-Testversion |
| Modernes .NET | .NET Framework + .NET Core 3.1+ (Windows only) | .NET Framework, .NET 6/7/8/9 plattformübergreifend |
| Async-Unterstützung | Beschränkt | Vollständig RenderHtmlAsPdfAsync / RenderUrlAsPdfAsync |
Wichtige Vorteile der Migration
- Plattformübergreifend auf .NET Core / .NET 6+: Funktioniert auf Linux, macOS und Docker — nicht nur Windows
- Thread-sichere Konfiguration: Instanzbasierte Renderer-Optionen statt statischer Globals
- Modern API: Consistent method names —
RenderHtmlAsPdf,RenderUrlAsPdf,PdfDocument.Merge - Vollständige asynchrone Unterstützung:
RenderHtmlAsPdfAsyncundRenderUrlAsPdfAsyncfür nicht blockierende Pipelines - Dokumentation: Umfangreiche Tutorials, How-to-Guides und eine aktive Objektreferenz
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 EO.Pdf Verwendung
Führen Sie diese Befehle in Ihrem Lösungsverzeichnis aus, um alle EO.Pdf-Referenzen zu identifizieren:
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
Häufige EO.Pdf-Namensräume, nach denen Sie suchen sollten:
EO.Pdf- Kern-HTML zu PDFEO.Pdf.Acm- Erweitertes Inhaltsmodell (ACM)EO.Pdf.Contents- Niedrigstufige InhaltsmanipulationEO.Pdf.Drawing- Grafikoperationen
Verständnis der Core Pattern Änderung
Der wichtigste architektonische Unterschied zwischen EO.Pdf und IronPDF ist der Konfigurationsumfang. EO.Pdf verwendet statische Methoden mit globalen Optionen, die sich auf alle Konvertierungen auswirken - ein Muster, das in Webanwendungen Probleme mit der Thread-Sicherheit verursacht.IronPDF verwendet instanzbasierte Renderer mit lokalen Optionen, um sicherzustellen, dass jede Konvertierung isoliert ist.
Schritt-für-Schritt-Migrationsprozess
Schritt 1: NuGet-Pakete aktualisieren
Entfernen Sie EO.Pdf und installieren Sie IronPDF:
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf
# Install IronPDF
dotnet add package IronPdf
Schritt 2: Namensraumreferenzen aktualisieren
Ersetzen Sie die Namensräume von EO.Pdf durch IronPDF:
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;
// Add this
using IronPdf;
Imports IronPdf
Schritt 3: Lizenz konfigurieren
// 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"
Komplette API-Migrationsreferenz
Kernklassen-Zuordnung
| EO.Pdf-Klasse | IronPDF-Äquivalent |
|---|---|
HtmlToPdf |
ChromePdfRenderer |
PdfDocument |
PdfDocument |
HtmlToPdfOptions |
ChromePdfRenderOptions |
AcmRender |
Nicht erforderlich |
AcmText |
HTML <span>, <p> |
AcmBlock |
HTML <div> |
Methoden-Mapping
| EO.Pdf-Methode | IronPDF-Methode |
|---|---|
HtmlToPdf.ConvertHtml(html, path) |
renderer.RenderHtmlAsPdf(html) dann SaveAs(path) |
HtmlToPdf.ConvertUrl(url, path) |
renderer.RenderUrlAsPdf(url) dann SaveAs(path) |
PdfDocument.Save(path) |
pdf.SaveAs(path) |
new PdfDocument(path) |
PdfDocument.FromFile(path) |
PdfDocument.Merge(doc1, doc2) (statisch) |
PdfDocument.Merge(doc1, doc2) (statisch) |
Optionen-Zuordnung
| EO.Pdf-Option | IronPDF RenderingOptionen |
|---|---|
Options.PageSize = PdfPageSizes.A4 |
PaperSize = PdfPaperSize.A4 |
Options.OutputArea (RectangleF) |
MarginTop, MarginBottom, usw. |
Beispiele für die Code-Migration
HTML-zu-PDF-Konvertierung
Die grundlegende HTML-zu-PDF-Konvertierung demonstriert den Wechsel von statischen Methoden zum instanzbasierten Rendering.
EO.Pdf Implementierung:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
HtmlToPdf.ConvertHtml(html, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
HtmlToPdf.ConvertHtml(html, "output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
IronPDF-Implementierung:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
Das Zwei-Stufen-Muster von IronPDF(rendern, dann speichern) ermöglicht den Zugriff auf das PdfDocument-Objekt für zusätzliche Manipulationen vor dem Speichern. Weitere Optionen finden Sie in der HTML zu PDF Dokumentation.
URL zu PDF-Konvertierung
EO.Pdf Implementierung:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
HtmlToPdf.ConvertUrl(url, "webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim url As String = "https://www.example.com"
HtmlToPdf.ConvertUrl(url, "webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Module
IronPDF-Implementierung:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string url = "https://www.example.com";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("webpage.pdf");
Console.WriteLine("PDF from URL created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim url As String = "https://www.example.com"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("webpage.pdf")
Console.WriteLine("PDF from URL created successfully!")
End Sub
End Class
IronPDF's RenderUrlAsPdf bietet vollständige JavaScript-Ausführung und moderne CSS-Unterstützung. Weitere Optionen finden Sie in der URL zur PDF-Dokumentation.
HTML-Datei mit benutzerdefinierten Einstellungen
Dieses Beispiel zeigt den grundlegenden Unterschied in den Konfigurationsmustern—EO.Pdf's OutputArea mit Zoll im Vergleich zu den individuellen Margeneigenschaften von IronPDF in Millimetern.
EO.Pdf Implementierung:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfOptions options = new HtmlToPdfOptions();
options.PageSize = PdfPageSizes.A4;
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
Console.WriteLine("PDF with custom settings created.");
}
}
Imports EO.Pdf
Imports System
Class Program
Shared Sub Main()
Dim options As New HtmlToPdfOptions()
options.PageSize = PdfPageSizes.A4
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
IronPDF-Implementierung:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF with custom settings created.");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF with custom settings created.")
End Sub
End Class
Beachten Sie die Umrechnung der Einheiten: EO.Pdf verwendet Zoll in OutputArea, während IronPDF Millimeter verwendet. Umrechnung mit: inches × 25.4 = mm. Weitere Optionen finden Sie in der Dokumentation der Rendering-Optionen.
Mehrere PDFs zusammenführen
Beide Bibliotheken bieten eine statische PdfDocument.Merge an, um Dokumente zu kombinieren — EO.Pdf hat keine Instanz Append-Methode, daher ist jeder Code, der doc.Append(other) verwendet, ungültig und muss zu Merge verschoben werden.
EO.Pdf Implementierung:
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;
class Program
{
static void Main()
{
PdfDocument doc1 = new PdfDocument("file1.pdf");
PdfDocument doc2 = new PdfDocument("file2.pdf");
// EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);
mergedDoc.Save("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports EO.Pdf
Imports System
Module Program
Sub Main()
Dim doc1 As New PdfDocument("file1.pdf")
Dim doc2 As New PdfDocument("file2.pdf")
' EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
Dim mergedDoc As PdfDocument = PdfDocument.Merge(doc1, doc2)
mergedDoc.Save("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
IronPDF-Implementierung:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Module Program
Sub Main()
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
merged.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Module
Die statische Merge von IronPDF akzeptiert entweder eine Params-Liste von Dokumenten oder ein List<PdfDocument>. Beachten Sie den Wechsel vom Konstruktor (new PdfDocument(path)) zur statischen Fabrik (PdfDocument.FromFile(path)). Weitere Optionen finden Sie in der Dokumentation zum Zusammenführen von PDFs .
Kritische Hinweise zur Migration
Umrechnung von Maßeinheiten
EO.Pdf verwendet Zoll in OutputArea.IronPDF arbeitet mit Millimetern. Umrechnung mit: inches × 25.4 = mm
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);
//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)
' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
Statische zu instanzbasierter Konfiguration
Ersetzen Sie alle HtmlToPdf.Options.X durch renderer.RenderingOptions.X:
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;
//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4
' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
ACM zu HTML Migration
Wenn Sie das Advanced Content Model von EO.Pdf (AcmRender, AcmText, AcmBlock) verwenden, migrieren Sie zu standardmäßigem HTML/CSS:
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));
//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))
' IronPDF HTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
Zweistufiges Speichermuster
EO.Pdf speichert direkt in ConvertHtml().IronPDF gibt ein PdfDocument-Objekt zurück, dann rufen Sie SaveAs() auf:
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");
//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")
' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
Konstruktor zu statischer Fabrik
Ersetzen Sie new PdfDocument(path) durch PdfDocument.FromFile(path):
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");
// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")
' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
Post-Migrations-Checkliste
Überprüfen Sie nach Abschluss der Codemigration Folgendes:
- Visueller Vergleich der generierten PDFs
- Überprüfen Sie, ob Kopf- und Fußzeilen korrekt dargestellt werden.
- Sicherheits-/Verschlüsselungseinstellungen testen
- Zusammenführungsvorgänge validieren
- Leistungsvergleich
- Plattformübergreifende Tests (Windows, Linux, macOS)
- Entfernen Sie die EO.Pdf-Lizenzdateien.
- Dokumentation aktualisieren
Zusätzliche Ressourcen
Die Migration von EO.Pdf zu IronPDF behebt Altlasten aus der IE/Trident-Ära und die Thread-Sicherheitsbedenken der statischen globalen Optionen von EO.Pdf. Der Übergang zu einer instanzbasierten Konfiguration stellt sicher, dass Ihr PDF-Erstellungscode unter gleichzeitiger Last zuverlässig funktioniert, während IronPDFs plattformübergreifende Unterstützung die Bereitstellung über Windows hinaus auf Linux, macOS und Docker erweitert.

