Wie man von Syncfusion PDF zu IronPDF in C# migriert
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Syncfusion PDF on pricing, HTML support, and licensing.
Die Migration von Syncfusion PDF Framework zu IronPDF verwandelt Ihren PDF-Erzeugungsworkflow von einer koordinatenbasierten Grafik-API, die in einer großen Suite gebündelt ist, in eine eigenständige, HTML/CSS-basierte Bibliothek mit modernem Chromium-Rendering. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der die Lizenzierung nur für die Suite, komplexe Bereitstellungsanforderungen und koordinatenbasierte Positionierung eliminiert.
Warum von Syncfusion PDF zu IronPDF migrieren
Verstehen Sie Syncfusion PDF Framework
Das Syncfusion PDF Framework ist eine umfassende Bibliothek, die eine breite Palette von Funktionen für die Erstellung, Bearbeitung und Sicherung von PDF-Dokumenten mit C# bietet. Es ist Teil des Essential Studio von Syncfusion, das über tausend Komponenten für verschiedene Plattformen umfasst.
Einer der größten Nachteile ist jedoch, dass es nicht als eigenständiges Produkt erworben werden kann; entwickler müssen die gesamte Suite von Syncfusion-Komponenten kaufen. Diese Anforderung kann für Teams, die nur an PDF-Funktionen interessiert sind, mühsam sein, zumal dieses Paket möglicherweise Werkzeuge enthält, die für ihre Projekte nicht erforderlich sind.
Das Bündel-Lizenzierungsproblem
Das Lizenzierungsmodell von Syncfusion stellt Teams, die nur die PDF-Funktionalität benötigen, vor große Herausforderungen:
- Nur Suite-Kauf: Die PDF-Bibliothek kann nicht separat erworben werden – es muss das gesamte Essential Studio erworben werden.
- Einschränkungen der Community-Lizenz: Die kostenlose Stufe erfordert sowohl einen Umsatz von unter 1 Million US-Dollar als auch weniger als 5 Entwickler.
- Lizenzierung komplexer Bereitstellungen: Unterschiedliche Lizenzen für Web-, Desktop- und Serverbereitstellungen
- Jährliche Verlängerung erforderlich: Abonnementmodell mit jährlichen Kosten
- Preisgestaltung pro Entwickler: Die Kosten skalieren linear mit der Teamgröße
- Überladene Suite : Enthält über 1000 Komponenten, die Sie möglicherweise nicht benötigen
Vergleich zwischen Syncfusion PDF und IronPDF
| Aspekt | Syncfusion PDF | IronPDF |
|---|---|---|
| Kaufmodell | Nur Suite-Bundle | Eigenständig |
| Lizenzierung | Komplexe Ebenen | Einfach pro Entwickler |
| Gemeinschaftsgrenze | <$1M AND <5 devs | Kostenlose Testversion, dann Lizenz |
| Einsatz | Mehrere Lizenztypen | Eine Lizenz deckt alle |
| API-Stil | Koordinatenbasierte Grafiken | HTML/CSS-first |
| HTML-Unterstützung | Benötigt BlinkBinaries | Natives Chromium |
| CSS-Unterstützung | Beschränkt | Vollständig CSS3/Flexbox/Grid |
| Abhängigkeiten | Mehrere Pakete | Einzelne NuGet |
| Suite-Anforderung | Ja (gesamte Suite) | Nein |
| Fokus auf PDF | Breit gefächert; teil einer größeren Suite | Eng gefasst; PDF-fokussiert |
IronPDF bietet einen gezielteren Ansatz, indem es seine PDF-Funktionen als eigenständiges Produkt anbietet. Dieser Unterschied wirkt sich sowohl auf die Kosten als auch auf die Einfachheit der Integration aus.
Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietet IronPDF mit seiner eigenständigen Lizenzierung und dem HTML/CSS-first-Ansatz Flexibilität ohne Abhängigkeiten von der Suite.
Bevor Sie beginnen
Voraussetzungen
- .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
- IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.
NuGet-Paketänderungen
# Remove Syncfusion packages
dotnet remove package Syncfusion.Pdf.Net.Core
dotnet remove package Syncfusion.HtmlToPdfConverter.Net.Windows
dotnet remove package Syncfusion.Licensing
# Install IronPDF
dotnet add package IronPdf
# Remove Syncfusion packages
dotnet remove package Syncfusion.Pdf.Net.Core
dotnet remove package Syncfusion.HtmlToPdfConverter.Net.Windows
dotnet remove package Syncfusion.Licensing
# Install IronPDF
dotnet add package IronPdf
Lizenz-Konfiguration
Syncfusion:
// Must register before any Syncfusion calls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY");
// Must register before any Syncfusion calls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY");
' Must register before any Syncfusion calls
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-SYNCFUSION-KEY")
IronPDF:
// One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY";
// One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY";
' One-time at startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-KEY"
Komplette API-Referenz
Namensraumänderungen
// Before: Syncfusion PDF
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using Syncfusion.HtmlConverter;
using Syncfusion.Drawing;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: Syncfusion PDF
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using Syncfusion.HtmlConverter;
using Syncfusion.Drawing;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
Kern-API-Zuordnungen
| Syncfusion | IronPDF |
|---|---|
PdfDocument |
ChromePdfRenderer |
PdfLoadedDocument |
PdfDocument.FromFile() |
HtmlToPdfConverter |
ChromePdfRenderer |
graphics.DrawString() |
HTML-Textelemente |
graphics.DrawImage() |
<img> Tag |
PdfGrid |
HTML <table> |
PdfStandardFont |
CSS font-family |
PdfBrushes.Black |
CSS color: black |
document.Security |
pdf.SecuritySettings |
PdfTextExtractor |
pdf.ExtractAllText() |
ImportPageRange() |
PdfDocument.Merge() |
document.Save(stream) |
pdf.SaveAs(path) |
document.Close(true) |
Nicht erforderlich |
Beispiele für die Code-Migration
Beispiel 1: Konvertierung von HTML/URL in PDF
Vor (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System.IO;
class Program
{
static void Main()
{
// Initialize HTML to PDF converter
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
// Convert URL to PDF
PdfDocument document = htmlConverter.Convert("https://www.example.com");
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
using System.IO;
class Program
{
static void Main()
{
// Initialize HTML to PDF converter
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
// Convert URL to PDF
PdfDocument document = htmlConverter.Convert("https://www.example.com");
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
Imports Syncfusion.HtmlConverter
Imports Syncfusion.Pdf
Imports System.IO
Module Program
Sub Main()
' Initialize HTML to PDF converter
Dim htmlConverter As New HtmlToPdfConverter()
' Convert URL to PDF
Dim document As PdfDocument = htmlConverter.Convert("https://www.example.com")
' Save the document
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save the PDF
pdf.SaveAs("Output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
// Create a PDF from a URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
// Save the PDF
pdf.SaveAs("Output.pdf");
}
}
Imports IronPdf
Class Program
Shared Sub Main()
' Create a PDF from a URL
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
' Save the PDF
pdf.SaveAs("Output.pdf")
End Sub
End Class
Dieses Beispiel veranschaulicht die grundlegenden API-Unterschiede. Syncfusion PDF benötigt eine HtmlToPdfConverter Instanz, ruft Convert() auf, die eine PdfDocument zurückgibt, erstellt dann manuell eine FileStream, speichert und schließt sowohl das Dokument als auch den Stream.
IronPDF verwendet ChromePdfRenderer mit RenderUrlAsPdf() in nur drei Codezeilen. Keine FileStream Verwaltung, keine Close() Aufrufe—IronPDF übernimmt die Bereinigung automatisch. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.
Beispiel 2: PDF aus Text erstellen
Vor (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;
class Program
{
static void Main()
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a page
PdfPage page = document.Pages.Add();
// Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
// Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, new PointF(10, 10));
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;
class Program
{
static void Main()
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a page
PdfPage page = document.Pages.Add();
// Create a font
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 12);
// Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, new PointF(10, 10));
// Save the document
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
}
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics
Imports Syncfusion.Drawing
Imports System.IO
Module Program
Sub Main()
' Create a new PDF document
Dim document As New PdfDocument()
' Add a page
Dim page As PdfPage = document.Pages.Add()
' Create a font
Dim font As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 12)
' Draw text
page.Graphics.DrawString("Hello, World!", font, PdfBrushes.Black, New PointF(10, 10))
' Save the document
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the document
pdf.SaveAs("Output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
class Program
{
static void Main()
{
// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
// Save the document
pdf.SaveAs("Output.pdf");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Class Program
Shared Sub Main()
' Create a PDF from HTML string
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>")
' Save the document
pdf.SaveAs("Output.pdf")
End Sub
End Class
Syncfusion PDF verwendet ein koordinatenbasiertes Grafikmodell. Sie erstellen ein PdfDocument, fügen ein PdfPage hinzu, erstellen ein PdfFont mit PdfFontFamily.Helvetica und rufen dann page.Graphics.DrawString() mit expliziten Koordinaten (new PointF(10, 10)), Schriftart und Pinsel (PdfBrushes.Black) auf. Schließlich verwalten Sie die Erstellung und Entsorgung von FileStream.
IronPDF verwendet einen HTML/CSS-first-Ansatz. Instead of coordinates, you write <h1>Hello, World!</h1> and let CSS handle positioning, fonts, and colors. Dieser Ansatz ist einfacher, leichter zu pflegen und nutzt die Fähigkeiten, die Entwickler bereits besitzen. Erfahren Sie mehr in unseren Tutorials.
Beispiel 3: Zusammenführen von PDF-Dokumenten
Vor (Syncfusion PDF):
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using System.IO;
class Program
{
static void Main()
{
// Load the first PDF document
FileStream stream1 = new FileStream("Document1.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument1 = new PdfLoadedDocument(stream1);
// Load the second PDF document
FileStream stream2 = new FileStream("Document2.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument2 = new PdfLoadedDocument(stream2);
// Merge the documents
PdfDocument finalDocument = new PdfDocument();
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1);
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1);
// Save the merged document
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
finalDocument.Save(outputStream);
// Close all documents
finalDocument.Close(true);
loadedDocument1.Close(true);
loadedDocument2.Close(true);
stream1.Close();
stream2.Close();
outputStream.Close();
}
}
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Parsing;
using System.IO;
class Program
{
static void Main()
{
// Load the first PDF document
FileStream stream1 = new FileStream("Document1.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument1 = new PdfLoadedDocument(stream1);
// Load the second PDF document
FileStream stream2 = new FileStream("Document2.pdf", FileMode.Open, FileAccess.Read);
PdfLoadedDocument loadedDocument2 = new PdfLoadedDocument(stream2);
// Merge the documents
PdfDocument finalDocument = new PdfDocument();
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1);
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1);
// Save the merged document
FileStream outputStream = new FileStream("Merged.pdf", FileMode.Create);
finalDocument.Save(outputStream);
// Close all documents
finalDocument.Close(true);
loadedDocument1.Close(true);
loadedDocument2.Close(true);
stream1.Close();
stream2.Close();
outputStream.Close();
}
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Parsing
Imports System.IO
Class Program
Shared Sub Main()
' Load the first PDF document
Dim stream1 As New FileStream("Document1.pdf", FileMode.Open, FileAccess.Read)
Dim loadedDocument1 As New PdfLoadedDocument(stream1)
' Load the second PDF document
Dim stream2 As New FileStream("Document2.pdf", FileMode.Open, FileAccess.Read)
Dim loadedDocument2 As New PdfLoadedDocument(stream2)
' Merge the documents
Dim finalDocument As New PdfDocument()
finalDocument.ImportPageRange(loadedDocument1, 0, loadedDocument1.Pages.Count - 1)
finalDocument.ImportPageRange(loadedDocument2, 0, loadedDocument2.Pages.Count - 1)
' Save the merged document
Dim outputStream As New FileStream("Merged.pdf", FileMode.Create)
finalDocument.Save(outputStream)
' Close all documents
finalDocument.Close(True)
loadedDocument1.Close(True)
loadedDocument2.Close(True)
stream1.Close()
stream2.Close()
outputStream.Close()
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Load PDF documents
var pdf1 = PdfDocument.FromFile("Document1.pdf");
var pdf2 = PdfDocument.FromFile("Document2.pdf");
// Merge PDFs
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
// Save the merged document
merged.SaveAs("Merged.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Load PDF documents
var pdf1 = PdfDocument.FromFile("Document1.pdf");
var pdf2 = PdfDocument.FromFile("Document2.pdf");
// Merge PDFs
var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
// Save the merged document
merged.SaveAs("Merged.pdf");
}
}
Imports IronPdf
Imports System.Collections.Generic
Class Program
Shared Sub Main()
' Load PDF documents
Dim pdf1 = PdfDocument.FromFile("Document1.pdf")
Dim pdf2 = PdfDocument.FromFile("Document2.pdf")
' Merge PDFs
Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
' Save the merged document
merged.SaveAs("Merged.pdf")
End Sub
End Class
Der Kontrast bei der Zusammenführung von PDFs ist dramatisch. Syncfusion PDF erfordert das Erstellen von FileStream-Objekten für jedes Eingabedokument, das Laden dieser Objekte als PdfLoadedDocument, das Erstellen eines neuen PdfDocument, das Aufrufen von ImportPageRange() mit Start- und Endindizes für jede Quelle, das Erstellen einer Ausgabe FileStream und das anschließende Schließen von sechs separaten Objekten (finalDocument, loadedDocument1, loadedDocument2, stream1, stream2, outputStream).
IronPDF verwendet PdfDocument.FromFile() zum Laden jedes PDFs und eine statische PdfDocument.Merge() Methode, die eine Liste von Dokumenten akzeptiert. Keine Stream-Verwaltung, keine manuellen Berechnungen des Seitenbereichs, keine knappen Ergebnisse.
Schlüsselunterschiede in der API-Philosophie
Koordinatenbasiert vs. HTML/CSS-First
Syncfusion PDF verwendet ein koordinatenbasiertes Grafikmodell, das von traditionellen PDF-Bibliotheken übernommen wurde:
// Syncfusion: Handbuch positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, new PointF(100, 200));
page.Graphics.DrawRectangle(brush, new RectangleF(50, 50, 200, 100));
// Syncfusion: Handbuch positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, new PointF(100, 200));
page.Graphics.DrawRectangle(brush, new RectangleF(50, 50, 200, 100));
' Syncfusion: Handbuch positioning
page.Graphics.DrawString("Text", font, PdfBrushes.Black, New PointF(100, 200))
page.Graphics.DrawRectangle(brush, New RectangleF(50, 50, 200, 100))
IronPDF verwendet HTML/CSS für das Layout:
// IronPDF: CSS-based positioning
var html = @"
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
// IronPDF: CSS-based positioning
var html = @"
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
' IronPDF: CSS-based positioning
Dim html As String = "
<div style='margin: 50px; padding: 20px; border: 1px solid black;'>
<p style='color: black;'>Text</p>
</div>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
Der HTML/CSS-Ansatz ist für Webentwickler intuitiver, leichter zu pflegen und führt zu konsistenten Ergebnissen bei unterschiedlichen Seitengrößen.
Stream Management vs. automatische Bereinigung
Syncfusion PDF erfordert eine explizite Stream- und Dokumentenentsorgung:
// Syncfusion: Handbuch cleanup
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
// Syncfusion: Handbuch cleanup
FileStream fileStream = new FileStream("Output.pdf", FileMode.Create);
document.Save(fileStream);
document.Close(true);
fileStream.Close();
' Syncfusion: Handbuch cleanup
Dim fileStream As New FileStream("Output.pdf", FileMode.Create)
document.Save(fileStream)
document.Close(True)
fileStream.Close()
IronPDF übernimmt die Bereinigung automatisch:
// IronPDF: Automatischcleanup
pdf.SaveAs("Output.pdf");
// IronPDF: Automatischcleanup
pdf.SaveAs("Output.pdf");
Funktionsvergleich
| Feature | Syncfusion PDF | IronPDF |
|---|---|---|
| Standalone kaufen | Nein (nur Suite) | Ja |
| Lizenzierung | Kommerziell mit Einschränkungen für die Gemeinschaft | Vereinfachte kommerzielle |
| HTML zu PDF | Benötigt BlinkBinaries | Natives Chromium |
| CSS3-Unterstützung | Beschränkt | Vollständig (Flexbox, Grid) |
| API-Stil | Koordinatenbasierte Grafiken | HTML/CSS-first |
| Stream Management | Handbuch | Automatisch |
| Abhängigkeiten | Mehrere Pakete | Einzelne NuGet |
| Bereitstellungskomplexität | Potentiell komplex | Unkompliziert |
Migrations-Checkliste
Vor der Migration
- Erfassung aller Syncfusion PDF-Nutzungen im Quellcode
- Kosten für die Dokumentenlizenzierung und Bereitstellungsanforderungen
- Identifizieren Sie die Verwendungen von
PdfGrid,PdfGraphicsundHtmlToPdfConverter - Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF
Code-Aktualisierungen
- Syncfusion Pakete entfernen (
Syncfusion.Pdf.Net.Core,Syncfusion.HtmlToPdfConverter.Net.Windows,Syncfusion.Licensing) - Installieren Sie das NuGet Paket
IronPdf - Namespace-Importe aktualisieren (
using Syncfusion.Pdf;→using IronPdf;) - Ersetzen Sie
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense()durchIronPdf.License.LicenseKey = "..." - Ersetzen Sie
HtmlToPdfConverter.Convert()durchChromePdfRenderer.RenderUrlAsPdf()oderRenderHtmlAsPdf() - Ersetzen Sie
PdfDocument+Pages.Add()+Graphics.DrawString()durchChromePdfRenderer.RenderHtmlAsPdf() - Ersetzen Sie
PdfLoadedDocumentdurchPdfDocument.FromFile() - Ersetzen Sie
ImportPageRange()durchPdfDocument.Merge() - Ersetzen Sie
document.Save(stream)durchpdf.SaveAs(path) - Entfernen Sie alle
document.Close(true)- undstream.Close()-Aufrufe - Ersetzen Sie
PdfGriddurch HTML-Elemente<table> - Ersetzen Sie
PdfStandardFontdurch CSSfont-family - Ersetzen Sie
PdfBrushesdurch die CSS-Eigenschaftencolor
Testen
- Visueller Vergleich der PDF-Ausgabe
- Überprüfung der Verbesserungen beim CSS-Rendering (Flexbox, Grid funktionieren jetzt)
- Testtextextraktion
- Zusammenführung und Aufteilung testen
- Leistungsvergleich

