Migrieren von PDFView4NET zu IronPDF in C#
Die Migration von PDFView4NETzu IronPDF verlagert Ihren PDF-Workflow von einer WinForms/WPF-Anzeigekomponente zu einer headless PDF-Erstellungs- und Manipulationsbibliothek. Dieser Leitfaden bietet einen schrittweisen Migrationspfad, der serverseitige Verarbeitung, Webanwendungsunterstützung und ein umfassenderes PDF-Lifecycle-Management ermöglicht, das über den Anzeige/Render/Drucken-Bereich von PDFView4NEThinausgeht.
Warum von PDFView4NETzu IronPDF migrieren
Verstehen Sie PDFView4NET
PDFView4NET (O2 Solutions, o2sol.com) ist ein Werkzeugset zum Anzeigen/Rendern/Drucken für WinForms- und WPF-Anwendungen. Es wird als zwei NuGet-Pakete ausgeliefert — O2S.Components.PDFView4NET.Win und O2S.Components.PDFView4NET.WPF — und enthält eine eigene PDF-Darstellungs-Engine. O2 Solutions verkauft eine separate Bibliothek, PDF4NET, für die programmgesteuerte Erstellung/Manipulation; dieser Leitfaden behandelt nur PDFView4NET.
Teams, die PDF-Erstellung, HTML-zu-PDF-Rendering oder serverseitige Workflows benötigen, kombinieren PDFView4NEThäufig mit einer anderen Bibliothek, oder wechseln direkt zu einem Toolkit wie IronPDF, das Erstellung und Bearbeitung sowie headless Deployment-Szenarien abdeckt.
Der Anzeige / Render / Druckbereich
PDFView4NET ist rund um das Anzeigen, Rendern und Drucken von PDFs aufgebaut, sowie um Anmerkungen und Formularausfüllungen. Häufige Gründe für eine Migration:
-
Anzeige / Render / Druck-Fokus: PDFView4NETlädt vorhandene PDFs zur Anzeige, zum Drucken oder Bildrendern. Es generiert keine PDFs aus HTML oder URLs.
-
UI-Framework-Abhängigkeit: Bereitgestellt in WinForms- und WPF-Editionen; beide zielen auf Windows-Desktops ab, was den Einsatz in Konsolenarbeiter- oder serverseitigen Hosts einschränkt.
-
Kein HTML zu PDF: Es gibt keine
HtmlToPdfConverteroder HTML-Rendering-API inO2S.Components.PDFView4NET. -
Eingeschränkte Manipulation: Die Manipulation konzentriert sich auf Anmerkungen und Formularfelder statt auf vollständige Inhaltserstellung.
-
Kein Linux / Docker/Server-Pfad: Das Toolkit ist nur über WinForms/WPF unter Windows verfügbar und nicht für ASP.NET-Hosts auf Linux oder Container-Workloads konzipiert.
- Aktiv, aber eng begrenzt: O2 Solutions liefert weiterhin Versionen; das Produkt wird gewartet, aber der Umfang ist bewusst eng gehalten.
PDFView4NETvs IronPDF Vergleich
| Feature | PDFView4NET | IronPDF |
|---|---|---|
| Primärer Schwerpunkt | PDF-Ansicht | Vollständige PDF-Lösung (Erstellen, Anzeigen, Bearbeiten) |
| UI-Frameworks erforderlich | WinForms, WPF | None |
| PDF-Erstellung | Nein | Ja |
| PDF-Bearbeitung | Begrenzt (Anmerkungen) | Ja |
| Server-Side | Nicht unterstützt | Volle Unterstützung |
| Webanwendungen | Nein | Ja |
| Konsolenanwendungen | Beschränkt | Volle Unterstützung |
| Azure/Docker | Nein | Ja |
| HTML zu PDF | Nein | Ja |
| Plattformübergreifender Kontext | Nein | Ja |
| Leichtigkeit der Integration | Medium | Hoch |
IronPDF deckt die PDF-Erstellung, Manipulation und das Rendering an einem Arbeitsplatz neben Anzeige-bezogenen Workflows ab, was Einsatzmöglichkeiten ermöglicht, die über den Anzeige/Render/Drucken-Bereich von PDFView4NEThinausgehen.
IronPDF ist auch kontextunabhängig — es läuft in Webanwendungen, Diensten und Konsolenanwendungen unter Windows, Linux, macOS, Dockerund Azure, was für Projekte entscheidend sein kann, die plattformübergreifende Unterstützung oder serversseitige Hosting benötigen.
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
<PackageReference Include="O2S.Components.PDFView4NET.Win" Version="*" Remove />
<PackageReference Include="IronPdf" Version="*" />
<PackageReference Include="O2S.Components.PDFView4NET.Win" Version="*" Remove />
<PackageReference Include="IronPdf" Version="*" />
Oder über CLI:
dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for the WPFedition)
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET.Win
# (use O2S.Components.PDFView4NET.WPF for the WPFedition)
dotnet add package IronPdf
Lizenz-Konfiguration
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Komplette API-Referenz
Namensraumänderungen
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
// After: IronPDF
using IronPdf;
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
// After: IronPDF
using IronPdf;
Imports IronPdf
Kern-API-Zuordnungen
| PDFView4NET | IronPDF |
|---|---|
new PDFDocument(); doc.Load(path) |
PdfDocument.FromFile(path) |
new PDFDocument(); doc.Load(stream) |
PdfDocument.FromStream(stream) |
document.Pages[index] |
pdf.Pages[index] |
document.PageCount |
pdf.PageCount |
document.Print(...) |
pdf.Print() |
document.Close() |
pdf.Dispose() |
| N/A in PDFView4NET | ChromePdfRenderer (HTML zu PDF) |
| N/A in PDFView4NET | PdfDocument.Merge() |
| N/A in PDFView4NET | pdf.ApplyWatermark() |
document.SecurityManager |
pdf.SecuritySettings |
Beispiele für die Code-Migration
Beispiel 1: Konvertierung von URL in PDF
Vor (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// PDFView4NETcannot fetch a URL and emit a PDF; it can only consume one.
PDFDocument document = new PDFDocument();
document.Load("input.pdf");
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.");
document.Close();
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// PDFView4NETcannot fetch a URL and emit a PDF; it can only consume one.
PDFDocument document = new PDFDocument();
document.Load("input.pdf");
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.");
document.Close();
}
}
Imports O2S.Components.PDFView4NET
Imports System
Class Program
Shared Sub Main()
' PDFView4NET cannot fetch a URL and emit a PDF; it can only consume one.
Dim document As New PDFDocument()
document.Load("input.pdf")
Console.WriteLine($"Loaded {document.PageCount} page(s) for view/print.")
document.Close()
End Sub
End Class
Nach (IronPDF):
// 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("output.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("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("output.pdf")
End Sub
End Class
PDFView4NET hat keine HTML/URL-Darstellungsoberfläche — es gibt keine HtmlToPdfConverter in O2S.Components.PDFView4NET, daher muss eine URL zuerst von einem anderen Tool in PDF gerendert und dann zum Ansehen/Drucken geladen werden.IronPDF erledigt die gesamte Konvertierung mit einem einzelnen ChromePdfRenderer.RenderUrlAsPdf()-Aufruf, der ein PdfDocument zurückgibt, das Sie mit SaveAs() speichern. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.
Beispiel 2: Konvertierung von HTML-Strings in PDF
Vor (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// The HTML string cannot be rendered by PDFView4NET. Assume an upstream
// tool produced "document.pdf"; PDFView4NETcan then display or print it.
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).");
document.Close();
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
class Program
{
static void Main()
{
// The HTML string cannot be rendered by PDFView4NET. Assume an upstream
// tool produced "document.pdf"; PDFView4NETcan then display or print it.
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).");
document.Close();
}
}
Imports O2S.Components.PDFView4NET
Imports System
Class Program
Shared Sub Main()
' The HTML string cannot be rendered by PDFView4NET. Assume an upstream
' tool produced "document.pdf"; PDFView4NET can then display or print it.
Dim document As New PDFDocument()
document.Load("document.pdf")
Console.WriteLine($"Document ready for viewing — {document.PageCount} page(s).")
document.Close()
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("document.pdf")
End Sub
End Class
Es gibt keine HtmlContent-Eigenschaft oder HTML-Rendering-API in O2S.Components.PDFView4NET, daher muss die HTML-Zeichenkette zuerst als PDF produziert und dann in den Viewer geladen werden.IronPDF akzeptiert die HTML-Zeichenkette direkt über RenderHtmlAsPdf() und gibt ein PdfDocument zurück. Erfahren Sie mehr in unseren Tutorials.
Beispiel 3: Textextraktion aus PDF
Vor (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument();
document.Load(fs);
string text = "";
for (int i = 0; i < document.PageCount; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
document.Close();
}
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET.Win
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument();
document.Load(fs);
string text = "";
for (int i = 0; i < document.PageCount; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
document.Close();
}
}
}
Imports O2S.Components.PDFView4NET
Imports System
Imports System.IO
Class Program
Shared Sub Main()
Using fs As FileStream = File.OpenRead("document.pdf")
Dim document As New PDFDocument()
document.Load(fs)
Dim text As String = ""
For i As Integer = 0 To document.PageCount - 1
text &= document.Pages(i).ExtractText()
Next
Console.WriteLine(text)
document.Close()
End Using
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
Dieses Beispiel verdeutlicht einen bedeutenden API-Unterschied. PDFView4NETerfordert das Erstellen eines FileStream, das Instanziieren von PDFDocument und den Aufruf von Load(fs), dann das Iterieren von document.PageCount und das Zusammenfügen von Pages[i].ExtractText() pro Seite.
IronPDF vereinfacht dies drastisch: PdfDocument.FromFile() lädt das PDF direkt von einem Pfad, und ExtractAllText() extrahiert Text von allen Seiten mit einem einzigen Methodenaufruf. Kein manuelles Stream-Management, keine Schleifen, keine String-Verkettung - nur zwei Zeilen Code.
Kritische Hinweise zur Migration
HTML-Rendering-Oberfläche
PDFView4NET hat keine HTML-zu-PDF-API.IronPDF führt ChromePdfRenderer für HTML/URL-Eingaben ein:
// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// or: renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// or: renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
' or: renderer.RenderUrlAsPdf(url)
pdf.SaveAs("output.pdf")
Änderung beim Laden des Dokuments
// PDFView4NET: instantiate then Load(path) or Load(stream)
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
// PDFView4NET: instantiate then Load(path) or Load(stream)
PDFDocument document = new PDFDocument();
document.Load("document.pdf");
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
' PDFView4NET: instantiate then Load(path) or Load(stream)
Dim document As New PDFDocument()
document.Load("document.pdf")
' IronPDF: Direct file path
Dim pdf = PdfDocument.FromFile("document.pdf")
Seitenzugriff ändern
// PDFView4NET: document.PageCount and document.Pages[i]
for (int i = 0; i < document.PageCount; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
// PDFView4NET: document.PageCount and document.Pages[i]
for (int i = 0; i < document.PageCount; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
Imports PDFView4NET
Imports IronPDF
' PDFView4NET: document.PageCount and document.Pages(i)
For i As Integer = 0 To document.PageCount - 1
document.Pages(i).ExtractText()
Next
' IronPDF: pdf.PageCount and Pages(i) or ExtractAllText()
Dim text As String = pdf.ExtractAllText()
' Or per-page: pdf.ExtractTextFromPage(0)
Methodenänderung speichern
// PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
// PDFView4NEThas no save-from-HTML path; saving applies after edits on a loaded document.
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
Neue Funktionen nach der Migration
Nach der Migration auf IronPDF erhalten Sie Funktionen, die PDFView4NETnicht bieten kann:
PDF-Zusammenführung
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("complete_book.pdf")
Wasserzeichen mit HTML
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>")
pdf.SaveAs("watermarked.pdf")
Passwortschutz
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user456"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
Formularausfüllen
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.FindFormField("FirstName").Value = "John";
pdf.Form.FindFormField("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.FindFormField("FirstName").Value = "John";
pdf.Form.FindFormField("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
Dim pdf = PdfDocument.FromFile("form.pdf")
pdf.Form.FindFormField("FirstName").Value = "John"
pdf.Form.FindFormField("LastName").Value = "Doe"
pdf.SaveAs("filled_form.pdf")
Server-seitige Verarbeitung
PDFView4NET kann nicht in Serverumgebungen ausgeführt werden.IronPDF leistet hier hervorragende Arbeit:
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
<HttpGet>
Public Function GeneratePdf() As IActionResult
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(GetReportHtml())
Return File(pdf.BinaryData, "application/pdf", "report.pdf")
End Function
Zusammenfassung des Funktionsvergleichs
| Feature | PDFView4NET | IronPDF |
|---|---|---|
| PDFs anzeigen | Ja (UI) | Nein (Viewer verwenden) |
| PDFs laden | Ja | Ja |
| PDFs speichern | Beschränkt | Ja |
| HTML zu PDF | Nein | Ja |
| URL zu PDF | Nein | Ja |
| PDFs zusammenführen | Nein | Ja |
| PDFs teilen | Beschränkt | Ja |
| Wasserzeichen | Nein | Ja |
| Kopf-/Fußzeilen | Nein | Ja |
| Passwortschutz | Nein | Ja |
| Digitale Signaturen | Nein | Ja |
| Textextraktion | Beschränkt | Ja |
| Formulare ausfüllen | Beschränkt | Ja |
| WinForms | Ja | Ja |
| WPF | Ja | Ja |
| Konsole | Beschränkt | Ja |
| ASP.NET | Nein | Ja |
| Azure | Nein | Ja |
| Docker | Nein | Ja |
Migrations-Checkliste
Vor der Migration
- Ermittlung der Anzeigeanforderungen (Feststellen, ob die Funktionen von IronPDF die UI-basierte PDF-Anzeige ersetzen können)
- Dokumentendruck-Workflows
- Anforderungen an die PDF-Manipulation
- Ersatz des Planbetrachters, falls erforderlich (IronPDF konzentriert sich auf die Erstellung/Bearbeitung)
- Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF
Paketänderungen
- Entfernen Sie das
O2S.Components.PDFView4NET.Win(oder.WPF) NuGet-Paket - Installieren Sie das
IronPdfNuGet-Paket:dotnet add package IronPdf
Code-Änderungen
- Aktualisieren Sie die Namespace-Importe (
using O2S.Components.PDFView4NET;→using IronPdf;) - Führen Sie
ChromePdfRendererfür jegliche HTML- oder URL-Inputs ein (kein PDFView4NET-Äquivalent) - Ersetzen Sie
new PDFDocument(); document.Load(path)withPdfDocument.FromFile(path) - Ersetzen Sie
new PDFDocument(); document.Load(stream)withPdfDocument.FromStream(stream) - Ersetzen Sie das manuelle
for (int i = 0; i < document.PageCount; i++)(orpdf.ExtractTextFromPage(i)) - Ersetzen Sie
document.Close()durchpdf.Dispose()(oder einenusing-Block) - Lizenzinitialisierung beim Anwendungsstart hinzufügen
Nach der Migration
- PDF-Laden und -Speichern testen
- Überprüfung der Textextraktionsfunktionalität
- Test der Konvertierung von HTML in PDF
- Überprüfen, ob die Serverbereitstellung funktioniert (neue Funktion)
- Bei Bedarf plattformübergreifend testen (neue Funktion)
- Entfernen Sie den UI-spezifischen PDF-Code, wenn er nur serverseitig verwendet wird

