Migrieren von PDF Duo zu IronPDF in C#
Durch die Migration von PDF Duo .NET zu IronPDF wird Ihr .NET-PDF-Workflow von einer obskuren, schlecht dokumentierten Bibliothek mit unklarem Wartungsstatus zu einer stabilen, gut dokumentierten und aktiv gewarteten Lösung. Dieser Leitfaden bietet einen umfassenden, schrittweisen Migrationspfad, der die Risiken im Zusammenhang mit aufgegebenen Bibliotheken eliminiert und gleichzeitig den Zugang zu erweiterten Funktionen ermöglicht, die PDF Duo nicht bieten kann.
Warum von PDF Duo zu IronPDF migrieren
Das PDF-Duo-Risiko-Problem
PDF Duo .NET ist eine schwer zugängliche und weniger bekannte Bibliothek im .NET-Ökosystem. Die Bibliothek mag zwar für Entwickler interessant sein, die Einfachheit suchen, aber ihre Unübersichtlichkeit stellt für Produktionsanwendungen eine große Herausforderung dar:
-
Unklare Herkunft: Unbekannter Entwickler ohne nachweisbare Unternehmenszugehörigkeit. Es gibt kein sichtbares GitHub-Repository oder Quellcode, begrenzte NuGet-Download-Statistiken und unsichere Lizenzbedingungen.
-
Fehlende Dokumentation: Es ist nahezu unmöglich, verlässliche Informationen zu finden. Es gibt keine offizielle API-Referenz, nur wenige Community-Beispiele und keine offiziellen Tutorials oder Anleitungen. Alle Versuche, PDF Duo zu nutzen, werden durch den Mangel an zuverlässiger Dokumentation behindert.
-
Verlassener oder inaktiver Status: Anzeichen von Vernachlässigung sind an sporadischen oder gar keinen Aktualisierungen erkennbar. In den Support-Foren werden Beiträge aus dem Jahr 2019 angezeigt, die nicht beantwortet wurden. Das sehr reale Risiko, dass die Übersetzung aufgegeben wird, beeinträchtigt die Realisierbarkeit für wichtige Projekte.
-
Eingeschränkter Funktionsumfang: Nur Basisfunktionen – einfache HTML-zu-PDF-Konvertierung und einfache PDF-Zusammenführung ohne erweiterte Funktionen wie Formulare, Sicherheit oder Wasserzeichen.
-
Unbekannte Rendering-Engine: Keine Transparenz darüber, was sich im Hintergrund abspielt. Die CSS/JavaScript-Unterstützung ist unbekannt, die Rendering-Qualität ist unvorhersehbar und die Unterstützung moderner Webfunktionen ist ungewiss.
- Supportrisiko: Keine Entschädigung, wenn etwas kaputt geht. Es gibt keinen professionellen Support, keine Community, die helfen könnte, und es besteht die Gefahr, dass die Übersetzung aufgegeben wird.
Vergleich zwischen PDF Duo und IronPDF
| Aspekt | PDF Duo .NET | IronPDF |
|---|---|---|
| Wartung | Unbekannt/Inaktiv | Aktive, regelmäßige Aktualisierungen |
| Dokumentation | Spärlich/Fehlend | Umfassend |
| Unterstützung | Keine | Professionelles Support-Team |
| Gemeinschaft | ~0 Benutzer | 41M+ NuGet Downloads |
| Rendering | Unbekannter Motor | Modernes Chromium |
| Merkmale | Basic | Voller Funktionsumfang |
| Stabilität | Unbekannt | Produktionserprobt |
| Lizenzierung | Unklar | Transparent |
Für Teams, die die Einführung von .NET 10 und C# 14 bis zum Jahr 2025 bzw. 2026 planen, bietet IronPDF eine stabile Grundlage mit aktiver Entwicklung und umfassender Dokumentation, die die Unsicherheiten beseitigt, die mit dem Verlassen auf eine verlassene Bibliothek verbunden sind.
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 PDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo
# Install IronPDF
dotnet add package IronPdf
# Remove PDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo
# Install IronPDF
dotnet add package IronPdf
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"
Identifizieren Sie die Verwendung von PDF Duo
# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
Komplette API-Referenz
Namensraumänderungen
| PDF Duo .NET | IronPDF |
|---|---|
using PDFDuo; |
using IronPdf; |
using PDFDuo.Document; |
using IronPdf; |
using PDFDuo.Rendering; |
using IronPdf.Rendering; |
using PDFDuo.Settings; |
using IronPdf; |
HTML zu PDF Konvertierung Zuordnungen
| PDF Duo .NET | IronPDF |
|---|---|
new HtmlToPdfConverter() |
new ChromePdfRenderer() |
converter.ConvertHtmlString(html, path) |
renderer.RenderHtmlAsPdf(html).SaveAs(path) |
converter.ConvertUrl(url, path) |
renderer.RenderUrlAsPdf(url).SaveAs(path) |
converter.ConvertFile(htmlPath, pdfPath) |
renderer.RenderHtmlFileAsPdf(htmlPath).SaveAs(pdfPath) |
Zuordnungen der Seitenkonfiguration
| PDF Duo .NET | IronPDF |
|---|---|
settings.PageSize = PageSize.A4 |
RenderingOptions.PaperSize = PdfPaperSize.A4 |
settings.PageSize = PageSize.Letter |
RenderingOptions.PaperSize = PdfPaperSize.Letter |
settings.Orientation = Landscape |
RenderingOptions.PaperOrientation = Landscape |
new Margins(top, right, bottom, left) |
Einzelne Randeigenschaften |
Margins-Zuordnungen
| PDF Duo .NET | IronPDF |
|---|---|
new Margins(top, right, bottom, left) |
Einzelne Eigenschaften |
margins.Top |
RenderingOptions.MarginTop |
margins.Right |
RenderingOptions.MarginRight |
margins.Bottom |
RenderingOptions.MarginBottom |
margins.Left |
RenderingOptions.MarginLeft |
Zuordnungen von Dokumentenoperationen
| PDF Duo .NET | IronPDF |
|---|---|
PDFDocument.Load(path) |
PdfDocument.FromFile(path) |
document.Save(path) |
pdf.SaveAs(path) |
document.ToBytes() |
pdf.BinaryData |
new PdfMerger() |
PdfDocument.Merge() |
merger.AddFile(path) |
PdfDocument.FromFile(path) |
merger.Merge(output) |
merged.SaveAs(output) |
Neue Funktionen, die in PDF Duo nicht verfügbar sind
| Feature | IronPDF |
|---|---|
| Kopf-/Fußzeilen | RenderingOptions.HtmlHeader, HtmlFooter |
| Seitenzahlen | {page}, {total-pages} Platzhalter |
| Wasserzeichen | pdf.ApplyWatermark(html) |
| Passwortschutz | pdf.SecuritySettings |
| Ausfüllen von Formularen | pdf.Form.Fields |
| Digitale Signaturen | pdf.SignWithFile() |
| Textextraktion | pdf.ExtractAllText() |
| PDF zu Bild | pdf.RasterizeToImageFiles() |
Beispiele für die Code-Migration
Beispiel 1: Konvertierung von HTML in PDF
Vor (PDF Duo):
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
converter.ConvertHtmlString(htmlContent, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
converter.ConvertHtmlString(htmlContent, "output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports PDFDuo
Imports System
Module Program
Sub Main()
Dim converter As New HtmlToPdfConverter()
Dim htmlContent As String = "<h1>Hello World</h1><p>This is a PDF document.</p>"
converter.ConvertHtmlString(htmlContent, "output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
Console.WriteLine("PDF created successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
Console.WriteLine("PDF created successfully!")
End Sub
End Class
Der grundlegende Unterschied ist hier das API-Muster. PDF Duo's HtmlToPdfConverter.ConvertHtmlString() nimmt sowohl den HTML-Code als auch den Ausgabepfad in einem einzigen Aufruf entgegen und übernimmt dabei Konvertierung und Speicherung. IronPDF's ChromePdfRenderer.RenderHtmlAsPdf() gibt zuerst ein PdfDocument Objekt zurück, das Sie dann mit SaveAs() speichern.
Dieser objektorientierte Ansatz bietet erhebliche Vorteile: Sie können die PDF-Datei vor dem Speichern manipulieren (Wasserzeichen hinzufügen, Dokumente zusammenführen, Sicherheit hinzufügen, Text extrahieren) - nichts davon ist mit dem Direct-to-File-Ansatz von PDF Duo möglich. Weitere Rendering-Optionen finden Sie in der HTML to PDF Dokumentation.
Beispiel 2: Konvertierung von URL in PDF
Vor (PDF Duo):
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.ConvertUrl("https://www.example.com", "webpage.pdf");
Console.WriteLine("Webpage converted to PDF!");
}
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.ConvertUrl("https://www.example.com", "webpage.pdf");
Console.WriteLine("Webpage converted to PDF!");
}
}
Imports PDFDuo
Imports System
Module Program
Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.ConvertUrl("https://www.example.com", "webpage.pdf")
Console.WriteLine("Webpage converted to PDF!")
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
Console.WriteLine("Webpage converted to PDF!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
Console.WriteLine("Webpage converted to PDF!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
Console.WriteLine("Webpage converted to PDF!")
End Sub
End Class
PDF Duo verwendet für die URL-Konvertierung dieselbe Klasse HtmlToPdfConverter wie ConvertUrl(url, outputPath).IronPDF verwendet ChromePdfRenderer mit der dedizierten Methode RenderUrlAsPdf(url), die ein PdfDocument-Objekt zurückgibt.
Ein entscheidender Vorteil ist, dass die Chromium-basierte Rendering-Engine von IronPDF moderne CSS3- und JavaScript-Unterstützung bietet, während die unbekannte Rendering-Engine von PDF Duo die CSS/JavaScript-Unterstützung unsicher und die Rendering-Qualität unvorhersehbar macht. Erfahren Sie mehr über die URL in PDF Konvertierung.
Beispiel 3: PDF-Zusammenführung
Vor (PDF Duo):
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var merger = new PdfMerger();
merger.AddFile("document1.pdf");
merger.AddFile("document2.pdf");
merger.Merge("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;
class Program
{
static void Main()
{
var merger = new PdfMerger();
merger.AddFile("document1.pdf");
merger.AddFile("document2.pdf");
merger.Merge("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports PDFDuo
Imports System
Class Program
Shared Sub Main()
Dim merger As New PdfMerger()
merger.AddFile("document1.pdf")
merger.AddFile("document2.pdf")
merger.Merge("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Console.WriteLine("PDFs merged successfully!");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Console.WriteLine("PDFs merged successfully!")
End Sub
End Class
Dieses Beispiel zeigt einen grundlegenden architektonischen Unterschied. PDF Duo verwendet eine spezielle Klasse PdfMerger mit einer Methode AddFile() zum Einreihen von Dateien und anschließend Merge() zum Kombinieren und Speichern in einem Schritt.
IronPDF verwendet ein anderes Muster: Jedes PDF wird als PdfDocument mit PdfDocument.FromFile() geladen, anschließend werden sie mit der statischen Methode PdfDocument.Merge() kombiniert. Dies gibt ein neues PdfDocument-Objekt zurück, das Sie separat mit SaveAs() speichern.
Der IronPDF-Ansatz bietet mehr Flexibilität: Sie können jede der PDF-Dateien vor dem Zusammenführen bearbeiten, Wasserzeichen in das zusammengeführte Ergebnis einfügen, Sicherheitseinstellungen vornehmen und vieles mehr. Um viele Dateien zusammenzuführen, können Sie LINQ verwenden:
var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
Dim paths = {"document1.pdf", "document2.pdf", "document3.pdf"}
Dim pdfs = paths.Select(AddressOf PdfDocument.FromFile).ToList()
Dim merged = PdfDocument.Merge(pdfs)
merged.SaveAs("merged.pdf")
Erfahren Sie mehr über das Zusammenführen und Aufteilen von PDFs.
Neue Funktionen nach der Migration
Nach der Migration zu IronPDF erhalten Sie Funktionen, die PDF Duo einfach nicht bieten kann:
Kopf- und Fußzeilen mit Seitenzahlen
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
.MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
.MaxHeight = 25
}
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
PDF Duo unterstützt keine Kopf- oder Fußzeilen - es gibt keine entsprechende Funktionalität.IronPDF bietet vollständige HTML/CSS-Unterstützung mit integrierten Platzhaltern für dynamische Inhalte wie Seitenzahlen. Siehe den Headers and Footers Guide.
Wasserzeichen
using IronPdf;
using IronPdf.Editing;
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(
"<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
45,
VerticalAlignment.Middle,
HorizontalAlignment.Center);
pdf.SaveAs("watermarked.pdf");
using IronPdf;
using IronPdf.Editing;
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(
"<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
45,
VerticalAlignment.Middle,
HorizontalAlignment.Center);
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>", 45, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("watermarked.pdf")
PDF Duo unterstützt keine Wasserzeichen.IronPDF bietet HTML-basierte Wasserzeichen mit vollständiger CSS-Styling-Unterstützung.
Passwortschutz
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SaveAs("secured.pdf")
PDF Duo unterstützt keinen Passwortschutz und keine Sicherheitseinstellungen.
Textextraktion
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
PDF Duo unterstützt keine Textextraktion.
Kritische Hinweise zur Migration
Margins Objekt zu einzelnen Eigenschaften
PDF Duo verwendet ein einzelnes Margins Objekt;IronPDF verwendet individuelle Eigenschaften:
// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)
// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)
// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
' PDF Duo:
New Margins(top:=20, right:=15, bottom:=20, left:=15)
' IronPDF:
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginRight = 15
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
Benennung von Methoden speichern
Verschiedene Methodennamen zum Speichern:
// PDF Duo:
document.Save("output.pdf");
// IronPDF:
pdf.SaveAs("output.pdf");
// PDF Duo:
document.Save("output.pdf");
// IronPDF:
pdf.SaveAs("output.pdf");
' PDF Duo:
document.Save("output.pdf")
' IronPDF:
pdf.SaveAs("output.pdf")
Laden von PDFs
Verschiedene Methodennamen für das Laden:
// PDF Duo:
PDFDocument.Load("document.pdf")
// IronPDF:
PdfDocument.FromFile("document.pdf")
// PDF Duo:
PDFDocument.Load("document.pdf")
// IronPDF:
PdfDocument.FromFile("document.pdf")
' PDF Duo:
PDFDocument.Load("document.pdf")
' IronPDF:
PdfDocument.FromFile("document.pdf")
Einstellungen Objekt zu Eigenschaften
PDF Duo verwendet Einstellungsobjekte, die an den Konstruktor übergeben werden;IronPDF verwendet Eigenschaften:
// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);
// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);
// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' PDF Duo:
Dim settings As New PDFSettings With {.PageSize = PageSize.A4}
Dim converter As New HtmlToPdfConverter(settings)
' IronPDF:
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
Funktionsvergleich
| Feature | PDF Duo .NET | IronPDF |
|---|---|---|
| HTML zu PDF | Basic | Vollständig CSS3, JavaScript |
| URL zu PDF | Basic | Vollständig mit Autorisierungsunterstützung |
| PDF-Zusammenführung | Ja | Ja |
| Kopf-/Fußzeilen | Nein | Volle HTML-Unterstützung |
| Seitenzahlen | Nein | Eingebaute Platzhalter |
| Wasserzeichen | Nein | HTML-basiert |
| Passwortschutz | Nein | Vollständige Sicherheitsoptionen |
| Formular ausfüllen | Nein | Ja |
| Digitale Signaturen | Nein | Ja |
| Textextraktion | Nein | Ja |
| PDF in Bilder | Nein | Ja |
| Async-Unterstützung | Unbekannt | Vollständig async/await |
| .NET Core/5+ | Unbekannt | Unterstützt |
Migrations-Checkliste
Vor der Migration
- Finde alle PDF Duo-Referenzen im Quellcode
- Dokumentieren Sie die aktuellen Einstellungen (Seitengröße, Ränder usw.).
- Liste aller verwendeten PDF-Operationen
- Möglichkeiten für neue Funktionen identifizieren (Header, Wasserzeichen, Sicherheit) -IronPDF-Lizenzschlüssel erhalten
Paketänderungen
- Entfernen Sie das NuGet Paket
PDFDuo.NET - Installieren Sie das NuGet Paket
IronPdf:dotnet add package IronPdf - Namespace-Importe von
using PDFDuo;aufusing IronPdf;aktualisieren
Code-Änderungen
- Lizenzschlüsselkonfiguration beim Start hinzufügen
- Ersetzen Sie
HtmlToPdfConverterdurchChromePdfRenderer - Ersetzen Sie
ConvertHtmlString(html, path)durchRenderHtmlAsPdf(html).SaveAs(path) - Ersetzen Sie
ConvertUrl(url, path)durchRenderUrlAsPdf(url).SaveAs(path) - Ersetzen Sie das Muster
PdfMergerdurch das MusterPdfDocument.Merge() - Konvertiere das
Margins-Objekt in einzelne Randeigenschaften - Ersetzen Sie
Save()durchSaveAs() - Ersetzen Sie
Load()durchFromFile()
Nach der Migration
- Führen Sie Regressionstests durch, um die PDF-Ausgabe zu vergleichen.
- Überprüfen Sie, ob Seitengrößen und Ränder übereinstimmen.
- Test mit komplexem HTML/CSS (die moderne Engine von IronPDF sollte damit besser zurechtkommen)
- Neue Funktionen hinzufügen (Kopf- und Fußzeilen, Wasserzeichen, Sicherheit)
- Dokumentation aktualisieren

