Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von PDFView4NET zu IronPDF in C#

Die Migration von PDFView4NET zu IronPDF verwandelt Ihren PDF-Workflow von einer UI-fokussierten Anzeigekomponente in eine umfassende Bibliothek zur PDF-Erzeugung und -Bearbeitung. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der die serverseitige Verarbeitung, die Unterstützung von Webanwendungen und das vollständige PDF Lifecycle Management ermöglicht, das PDFView4NET nicht bieten kann.

Warum von PDFView4NET zu IronPDF migrieren

Verstehen Sie PDFView4NET

PDFView4NET ist eine beliebte Wahl für Entwickler, die sich hauptsächlich mit PDF-Anzeigefunktionen in C# beschäftigen. PDFView4NET bietet robuste PDF-Anzeigesteuerelemente, die auf Windows Forms (WinForms) und Windows Presentation Foundation (WPF) Anwendungen zugeschnitten sind. Der Schwerpunkt der Bibliothek liegt auf der nahtlosen Anzeige von PDF-Dateien, was sie zu einer bevorzugten Option für die Entwicklung von Desktop-Anwendungen macht.

Trotz seiner Stärken weist PDFView4NET Einschränkungen auf, die Entwickler dazu veranlassen könnten, sich mit umfassenderen Bibliotheken wie IronPDF zu befassen.IronPDF bietet eine All-in-One-PDF-Lösung, die Funktionen zur Erstellung, Anzeige und Bearbeitung von PDF-Dateien umfasst, ohne auf bestimmte UI-Komponenten beschränkt zu sein.

Die Nur-Ansicht-Beschränkung

PDFView4NET ist in erster Linie eine UI Anzeigekomponente für WinFormsund WPFAnwendungen. Der Schwerpunkt liegt auf der Anzeige von PDFs und nicht auf deren Erstellung oder Bearbeitung. Hauptgründe für die Migration:

  1. Einschränkungen (nur Ansicht): PDFView4NET ist für die Anzeige und nicht für die Erstellung von PDFs konzipiert.

  2. Abhängigkeit vom UI-Framework: Erfordert einen WinForms- oder WPF-Kontext. Die Anforderung an WinForms- oder WPF-Umgebungen kann die Verwendung in anderen Kontexten einschränken, wie z.B. Konsolenanwendungen oder Webservices, die von PDFView4NET nicht unterstützt werden.

  3. Kein HTML zu PDF: HTML oder URLs können nicht in PDF konvertiert werden. Die Bibliothek konzentriert sich ausschließlich auf die Anzeige von PDF-Dateien und bietet keine integrierten Funktionen zur Erstellung oder Bearbeitung von PDF-Dateien.

  4. Eingeschränkte Bearbeitungsmöglichkeiten: Grundlegende Bearbeitungsmöglichkeiten im Vergleich zum vollen Funktionsumfang von IronPDF.

  5. Keine serverseitige Unterstützung: Kann nicht in Webdiensten oder AzureFunctions ausgeführt werden.

  6. Legacy-Technologie: Weniger aktive Weiterentwicklung und Aktualisierungen moderner Funktionen.

PDFView4NET vs IronPDF Vergleich

Feature PDFView4NET IronPDF
Primärer Schwerpunkt PDF-Ansicht Vollständige PDF-Lösung (Erstellen, Anzeigen, Bearbeiten)
UI-Frameworks erforderlich WinForms, WPF Keine
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 zeichnet sich durch seine Vielseitigkeit und seinen umfassenden Funktionsumfang aus, was es besonders für Entwickler interessant macht, die einen ganzheitlichen Ansatz für die PDF-Verarbeitung in C# benötigen. Die Bibliothek unterstützt die Erstellung, Anzeige und Bearbeitung von PDF-Dateien und deckt damit Anwendungsfälle ab, die weit über die Anzeigefunktionen von PDFView4NET hinausgehen.

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietet IronPDF Kontextunabhängigkeit - es kann in verschiedenen Kontexten verwendet werden, einschließlich Webanwendungen, Diensten und Konsolenanwendungen. Diese Flexibilität ist entscheidend für Projekte, die plattformübergreifende Unterstützung und verschiedene Einsatzszenarien erfordern.


Bevor Sie beginnen

Voraussetzungen

  1. .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
  3. IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.

NuGet-Paketänderungen


<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />

<PackageReference Include="IronPdf" Version="2024.*" />

<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />

<PackageReference Include="IronPdf" Version="2024.*" />
XML

Oder über CLI:

dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
SHELL

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"
$vbLabelText   $csharpLabel

Komplette API-Referenz

Namensraumänderungen

// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;

// After: IronPDF
using IronPdf;
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;

// After: IronPDF
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Kern-API-Zuordnungen

PDFView4NET IronPDF
PDFFile.Open(path) PdfDocument.FromFile(path)
PDFFile.Open(stream) PdfDocument.FromStream(stream)
pdfFile.GetPage(index) pdf.Pages[index]
pdfFile.PageCount pdf.PageCount
PDFPrintDocument pdf.Print()
pdfFile.Close() pdf.Dispose()
HtmlToPdfConverter ChromePdfRenderer
Nicht anwendbar PdfDocument.Merge()
Nicht anwendbar pdf.ApplyWatermark()
Nicht anwendbar pdf.SecuritySettings

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von URL in PDF

Vor (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.NavigateUri = new Uri("https://example.com");
        converter.ConvertHtmlToPdf();
        converter.SavePdf("output.pdf");
    }
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.NavigateUri = new Uri("https://example.com");
        converter.ConvertHtmlToPdf();
        converter.SavePdf("output.pdf");
    }
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
Imports System

Class Program
    Shared Sub Main()
        Dim converter As New HtmlToPdfConverter()
        converter.NavigateUri = New Uri("https://example.com")
        converter.ConvertHtmlToPdf()
        converter.SavePdf("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

PDFView4NET verwendet HtmlToPdfConverter mit der Eigenschaft NavigateUri, die auf ein Uri-Objekt gesetzt ist, gefolgt vom Aufruf von ConvertHtmlToPdf() und dann SavePdf().IronPDF vereinfacht dies zu einem einzigen ChromePdfRenderer mit RenderUrlAsPdf(), das eine String-URL direkt akzeptiert und ein PdfDocument zurückgibt, das Sie mit SaveAs() speichern. Der Ansatz von IronPDF bietet eine sauberere Syntax und eine bessere Integration in moderne .NET-Anwendungen. 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
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.HtmlContent = htmlContent;
        converter.ConvertHtmlToPdf();
        converter.SavePdf("document.pdf");
    }
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
        HtmlToPdfConverter converter = new HtmlToPdfConverter();
        converter.HtmlContent = htmlContent;
        converter.ConvertHtmlToPdf();
        converter.SavePdf("document.pdf");
    }
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
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 converter As New HtmlToPdfConverter()
        converter.HtmlContent = htmlContent
        converter.ConvertHtmlToPdf()
        converter.SavePdf("document.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

PDFView4NET verwendet die Eigenschaft HtmlContent, um die HTML-Zeichenfolge festzulegen, und erfordert dann den Aufruf von ConvertHtmlToPdf(), gefolgt von SavePdf().IronPDF bietet eine flüssigere API, bei der RenderHtmlAsPdf() die HTML-Zeichenkette direkt akzeptiert und PdfDocument zurückgibt. Die Methodennamen sind intuitiver: RenderHtmlAsPdf vs ConvertHtmlToPdf. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Textextraktion aus PDF

Vor (PDFView4NET):

// NuGet: Install-Package O2S.Components.PDFView4NET
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(fs);
            string text = "";
            for (int i = 0; i < document.Pages.Count; i++)
            {
                text += document.Pages[i].ExtractText();
            }
            Console.WriteLine(text);
        }
    }
}
// NuGet: Install-Package O2S.Components.PDFView4NET
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(fs);
            string text = "";
            for (int i = 0; i < document.Pages.Count; i++)
            {
                text += document.Pages[i].ExtractText();
            }
            Console.WriteLine(text);
        }
    }
}
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(fs)
            Dim text As String = ""
            For i As Integer = 0 To document.Pages.Count - 1
                text &= document.Pages(i).ExtractText()
            Next
            Console.WriteLine(text)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Dieses Beispiel verdeutlicht einen bedeutenden API-Unterschied. PDFView4NET erfordert das manuelle Erstellen eines FileStream, das Instanziieren von PDFDocument mit dem Stream, und anschließend das Durchlaufen von document.Pages.Count und das Verketten von Pages[i].ExtractText() für jede Seite.

IronPDF vereinfacht dies drastisch: PdfDocument.FromFile() lädt die PDF-Datei direkt von einem Pfad, und ExtractAllText() extrahiert den Text von allen Seiten in einem einzigen Methodenaufruf. Kein manuelles Stream-Management, keine Schleifen, keine String-Verkettung - nur zwei Zeilen Code.


Kritische Hinweise zur Migration

Änderung der Konverterklasse

PDFView4NET verwendet HtmlToPdfConverter;IronPDF verwendet ChromePdfRenderer:

// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();

// IronPDF
var renderer = new ChromePdfRenderer();
' PDFView4NET
Dim converter As New HtmlToPdfConverter()

' IronPDF
Dim renderer = New ChromePdfRenderer()
$vbLabelText   $csharpLabel

Eigenschaftsbasierte gegenüber methodenbasierter API

PDFView4NET setzt die Eigenschaften vor der Konvertierung:

// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");

// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");

// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
' PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent
converter.NavigateUri = New Uri(url)
converter.ConvertHtmlToPdf()
converter.SavePdf("output.pdf")

' IronPDF: Method parameters with fluent API
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Änderung beim Laden des Dokuments

// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
    PDFDocument document = new PDFDocument(fs);
}

// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
    PDFDocument document = new PDFDocument(fs);
}

// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
Imports System.IO
Imports PDFView4NET
Imports IronPDF

' PDFView4NET: Requires FileStream
Using fs As FileStream = File.OpenRead("document.pdf")
    Dim document As New PDFDocument(fs)
End Using

' IronPDF: Direct file path
Dim pdf = PdfDocument.FromFile("document.pdf")
$vbLabelText   $csharpLabel

Seitenzugriff ändern

// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; 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.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; 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.Pages.Count and Pages(i)
For i As Integer = 0 To document.Pages.Count - 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)
$vbLabelText   $csharpLabel

Methodenänderung speichern

// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");

// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");

// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

Neue Funktionen nach der Migration

Nach der Migration auf IronPDF erhalten Sie Funktionen, die PDFView4NET nicht 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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

Formularausfüllen

var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
Dim pdf = PdfDocument.FromFile("form.pdf")
pdf.Form.GetFieldByName("FirstName").Value = "John"
pdf.Form.GetFieldByName("LastName").Value = "Doe"
pdf.SaveAs("filled_form.pdf")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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 NuGet Paket O2S.Components.PDFView4NET
  • Installieren Sie das NuGet Paket IronPdf: dotnet add package IronPdf

Code-Änderungen

  • Namespace-Importe aktualisieren (using O2S.Components.PDFView4NET;using IronPdf;)
  • Ersetzen Sie HtmlToPdfConverter durch ChromePdfRenderer
  • Ersetzen Sie converter.HtmlContent + ConvertHtmlToPdf() durch renderer.RenderHtmlAsPdf(html)
  • Ersetzen Sie converter.NavigateUri + ConvertHtmlToPdf() durch renderer.RenderUrlAsPdf(url)
  • Ersetzen Sie converter.SavePdf() durch pdf.SaveAs()
  • Ersetzen Sie PDFDocument(stream) durch PdfDocument.FromFile(path)
  • Ersetzen Sie die manuelle Seitenschleifenextraktion durch pdf.ExtractAllText()
  • 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

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

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an