Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Wie man von ExpertPdf zu IronPDF in C# migriert

ExpertPdf ist ein kommerzieller HTML-zu-PDF-Konverter for .NET, der Entwicklern schon seit vielen Jahren dient. ExpertPdf steht jedoch in der heutigen, sich schnell entwickelnden Entwicklungslandschaft vor großen Herausforderungen: eine seit 2018 eingefrorene Dokumentation, die Abhängigkeit von einer veralteten Chrome-Version, die moderne CSS3-Funktionen vermissen lässt, Premium-Preise von 550 bis 1.200 US-Dollar für eine veraltete Technologie und eine fragmentierte Produktsuite, die separate Lizenzen für das Zusammenführen, die Sicherheit und das Aufteilen erfordert. Dieser umfassende Leitfaden bietet einen schrittweisen Migrationspfad von ExpertPdf zu IronPDF- einer modernen .NET-PDF-Bibliothek mit dem neuesten Chromium-Rendering, monatlichen Updates und einer All-in-One-Paketarchitektur.

Warum von ExpertPdf zu IronPDF migrieren?

ExpertPdf stellt mehrere Herausforderungen, die Entwicklungsteams dazu veranlassen, moderne Alternativen zu bewerten. Das Verständnis dieser Aspekte ist für die Planung Ihrer Migrationsstrategie unerlässlich.

Die ExpertPdf-Probleme

  1. Dokumentation seit 2018 eingefroren: Die Dokumentation von ExpertPdf wurde seit über 6 Jahren nicht mehr aktualisiert. Die Suche nach aktuellen Informationen, Beispielen und Best Practices wird immer schwieriger, da sich das .NET-Ökosystem weiterentwickelt.

  2. Veraltete Chrome-Version: ExpertPdf verwendet für die Darstellung eine ältere Version von Chrome. Moderne CSS3-Funktionen (Flexbox, Grid, CSS-Variablen) werden möglicherweise nicht korrekt wiedergegeben, und Sicherheits-Patches werden nicht angewendet.

  3. Hohe Preise für veraltete Technologie: ExpertPdf verlangt 550 bis 1.200 US-Dollar pro Lizenz und liefert dabei veraltete Rendering-Technologie.

  4. Fragmentierte Suite: ExpertPdf verkauft separate Pakete für verschiedene Funktionen – HtmlToPdf Converter, PDF Merger, PDF Security, PDF Splitter und PDF to Image – für die jeweils eine separate Lizenzierung erforderlich ist.

  5. Eingeschränkte Unterstützung für modernes .NET : ExpertPdf bietet zwar .NET Core Pakete an, diese hinken jedoch den modernen .NET Versionen und -Praktiken hinterher.

Architektur-Vergleich

Aspekt ExpertPdf IronPDF
Dokumentation Eingefroren seit 2018 Kontinuierlich aktualisiert
Rendering Engine Legacy Chrome Neuestes Chromium
CSS-Unterstützung Eingeschränktes CSS3 Vollständiges CSS3 (Flexbox, Grid)
Preis $550-$1,200 Konkurrenzfähige Preise
Aktualisierungshäufigkeit Unregelmäßig Monatliche Veröffentlichungen
Produktmodell Fragmentiert (5+ DLLs) All-in-One-Bibliothek
Modernes .NET Beschränkt .NET 6/7/8/9+ nativ
Async-Unterstützung Beschränkt Vollständig async/await

Wichtige Vorteile der Migration

  1. Modernes Rendering: Neueste Chromium-Engine für pixelgenaue Ausgabe
  2. Komplettpaket: PDF-Erstellung, Zusammenführung, Sicherheit und Extraktion in einem NuGet
  3. Aktive Weiterentwicklung: Monatliche Updates mit neuen Funktionen und Sicherheitspatches
  4. Bessere Dokumentation: Umfassende Tutorials und Beispiele
  5. Echte Plattformunabhängigkeit: Unterstützung für Windows, Linux, macOS und Docker.

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 ExpertPdfVerwendung

Führen Sie diese Befehle in Ihrem Lösungsverzeichnis aus, um alle ExpertPdf-Referenzen zu identifizieren:

# Find all ExpertPdf references
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
# Find all ExpertPdf references
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
SHELL

Übliche ExpertPdf-Pakete, nach denen Sie suchen sollten:

  • ExpertPdf.HtmlToPdf - HTML zu PDF Konvertierung
  • ExpertPdf.PDFMerge - PDF-Zusammenführung
  • ExpertPdf.PDFSecurity - Verschlüsselung und Passwörter
  • ExpertPdf.PDFSplit - PDF-Aufteilung
  • ExpertPdf.PdfToImage - PDF-zu-Bild-Konvertierung

Verständnis der Core Pattern Änderung

ExpertPdf verwendet PdfConverter mit direkten Byte-Array-Rückgabemethoden.IronPDF verwendet ChromePdfRenderer zurückgegebene PdfDocument Objekte, die vor dem Speichern zusätzliche Bearbeitungsmöglichkeiten bieten.

Schritt-für-Schritt-Migrationsprozess

Schritt 1: NuGet-Pakete aktualisieren

Entfernen Sie alle ExpertPdf-Pakete und installieren Sie IronPDF:

# Remove all ExpertPdf packages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage

# Install IronPDF(includes all features)
dotnet add package IronPdf
# Remove all ExpertPdf packages
dotnet remove package ExpertPdf.HtmlToPdf
dotnet remove package ExpertPdf.PDFMerge
dotnet remove package ExpertPdf.PDFSecurity
dotnet remove package ExpertPdf.PDFSplit
dotnet remove package ExpertPdf.PdfToImage

# Install IronPDF(includes all features)
dotnet add package IronPdf
SHELL

Schritt 2: Namensraumreferenzen aktualisieren

Ersetzen Sie die ExpertPdf-Namensräume durch IronPDF:

// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
// Remove these
using ExpertPdf.HtmlToPdf;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Schritt 3: Lizenz konfigurieren

ExpertPdf verwendet eine Lizenzierung pro Konverter.IronPDF verwendet eine einzige globale Lizenz:

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

Komplette API-Migrationsreferenz

Kernklassen-Zuordnung

ExpertPdf-Klasse IronPDF-Äquivalent
PdfConverter ChromePdfRenderer
PdfDocumentOptions ChromePdfRenderOptions
PdfHeaderOptions TextHeaderFooter oder HtmlHeaderFooter
PdfFooterOptions TextHeaderFooter oder HtmlHeaderFooter
PDFMerge PdfDocument.Merge()

Methoden-Mapping

ExpertPdf-Methode IronPDF-Methode
pdfConverter.GetPdfBytesFromHtmlString(html) renderer.RenderHtmlAsPdf(html).BinaryData
pdfConverter.GetPdfBytesFromUrl(url) renderer.RenderUrlAsPdf(url).BinaryData
pdfConverter.GetPdfBytesFromHtmlFile(path) renderer.RenderHtmlFileAsPdf(path).BinaryData
pdfConverter.SavePdfFromUrlToFile(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path)

Optionen-Zuordnung

ExpertPdf-Option IronPDFRenderingOptionen
PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 PaperSize = PdfPaperSize.A4
PdfDocumentOptions.PdfPageOrientation = Portrait PaperOrientation = PdfPaperOrientation.Portrait
PdfDocumentOptions.MarginTop MarginTop
PdfHeaderOptions.HeaderText TextHeader.CenterText
PdfFooterOptions.FooterText TextFooter.RightText

Konvertierung von Seitennummerierungstoken

ExpertPdf und IronPDF verwenden eine andere Platzhalter-Syntax für Seitenzahlen:

ExpertPdf IronPDF
&p; {page}
&P; {total-pages}

Beispiele für die Code-Migration

HTML-zu-PDF-Konvertierung

Die grundlegende HTML-zu-PDF-Konvertierung demonstriert den Wechsel von ExpertPdf s Byte-Array-Muster zu IronPDF s Dokument-Objekt-Ansatz.

ExpertPdf-Einführung:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Convert HTML string to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes);

        Console.WriteLine("PDF created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Module Program
    Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Convert HTML string to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>")

        ' Save to file
        System.IO.File.WriteAllBytes("output.pdf", pdfBytes)

        Console.WriteLine("PDF created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>");

        // Save to file
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF from HTML string
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>")

        ' Save to file
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Der Ansatz von IronPDF gibt ein PdfDocument-Objekt zurück, wodurch vor dem Speichern zusätzliche Bearbeitungen (Zusammenführen, Wasserzeichen hinzufügen, Sicherheit) möglich sind. Weitere Optionen finden Sie in der HTML zu PDF Dokumentation.

URL zu PDF mit Seiteneinstellungen

ExpertPdf-Einführung:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;

        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");

        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;

        // Convert URL to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com");

        // Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes);

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Module Program
    Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Set page size and orientation
        pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4
        pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait

        ' Convert URL to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromUrl("https://www.example.com")

        ' Save to file
        System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes)

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        // Save to file
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

        // Convert URL to PDF
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        // Save to file
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF renderer
        Dim renderer = New ChromePdfRenderer()

        ' Set page size and orientation
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

        ' Convert URL to PDF
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")

        ' Save to file
        pdf.SaveAs("webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF s RenderingOptions ermöglicht den direkten Zugriff auf Eigenschaften zur Seitenkonfiguration. Weitere Optionen finden Sie in der URL zur PDF-Dokumentation.

Kopf- und Fußzeilen mit Seitenzahlen

Dieses Beispiel verdeutlicht den entscheidenden Unterschied in der Kopf-/Fußzeilenkonfiguration: ExpertPdf verwendet separate Klassen PdfHeaderOptions und PdfFooterOptions mit den Platzhaltern &P;, während IronPDFTextHeaderFooter mit den Platzhaltern {total-pages} verwendet.

ExpertPdf-Einführung:

// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;

        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;

        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");

        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
// NuGet: Install-Package ExpertPdf.HtmlToPdf
using ExpertPdf.HtmlToPdf;
using System;

class Program
{
    static void Main()
    {
        // Create the PDF converter
        PdfConverter pdfConverter = new PdfConverter();

        // Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = true;
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header";
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center;

        // Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = true;
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;";
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right;

        // Convert HTML file to PDF
        byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html");

        // Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes);

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
Imports ExpertPdf.HtmlToPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create the PDF converter
        Dim pdfConverter As New PdfConverter()

        ' Enable header
        pdfConverter.PdfHeaderOptions.ShowHeader = True
        pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"
        pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center

        ' Enable footer with page numbers
        pdfConverter.PdfFooterOptions.ShowFooter = True
        pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"
        pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right

        ' Convert HTML file to PDF
        Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlFile("input.html")

        ' Save to file
        System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes)

        Console.WriteLine("PDF with headers and footers created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF-Implementierung:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };

        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };

        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");

        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        // Create a PDF renderer
        var renderer = new ChromePdfRenderer();

        // Configure header
        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Document Header",
            DrawDividerLine = true
        };

        // Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            RightText = "Page {page} of {total-pages}",
            DrawDividerLine = true
        };

        // Convert HTML file to PDF
        var pdf = renderer.RenderHtmlFileAsPdf("input.html");

        // Save to file
        pdf.SaveAs("output-with-header-footer.pdf");

        Console.WriteLine("PDF with headers and footers created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        ' Create a PDF renderer
        Dim renderer = New ChromePdfRenderer()

        ' Configure header
        renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
            .CenterText = "Document Header",
            .DrawDividerLine = True
        }

        ' Configure footer with page numbers
        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .RightText = "Page {page} of {total-pages}",
            .DrawDividerLine = True
        }

        ' Convert HTML file to PDF
        Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")

        ' Save to file
        pdf.SaveAs("output-with-header-footer.pdf")

        Console.WriteLine("PDF with headers and footers created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF bietet mit TextHeaderFooter die Eigenschaften LeftText, CenterText und RightText mit optionalen Trennlinien. Für HTML-basierte Header verwenden Sie HtmlHeaderFooter. Weitere Optionen finden Sie in der Kopf- und Fußzeilen-Dokumentation.

Kritische Hinweise zur Migration

Standort des Lizenzschlüssels

ExpertPdf verwendet eine Lizenzierung pro Konverter.IronPDF verwendet eine einzige globale Lizenz, die einmal beim Start festgelegt wird:

// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";

//IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE";
' ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"

' IronPDF- global, set once
IronPdf.License.LicenseKey = "IRONPDF-LICENSE"
$vbLabelText   $csharpLabel

Konvertierung von Seitennummerierungstoken

Ersetzen Sie ExpertPdf-Tokens durch IronPDF-Platzhalter:

// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
// ExpertPdf
"Page &p; of &P;"

// IronPDF
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

Fragmentierte Pakete konsolidiert

Die separaten Pakete von ExpertPdf(PDFMerge, PDFSecurity, PDFSplit, PdfToImage) sind alle im Einzelpaket von IronPDF enthalten:

// ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
// ExpertPdf- requires separate PDFMerge package
var merger = new PdfMerge();
merger.AppendPDFFile("file1.pdf");
merger.AppendPDFFile("file2.pdf");
merger.SaveMergedPDFToFile("merged.pdf");

//IronPDF- included in main package
var pdf1 = PdfDocument.FromFile("file1.pdf");
var pdf2 = PdfDocument.FromFile("file2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
' ExpertPdf- requires separate PDFMerge package
Dim merger As New PdfMerge()
merger.AppendPDFFile("file1.pdf")
merger.AppendPDFFile("file2.pdf")
merger.SaveMergedPDFToFile("merged.pdf")

' IronPDF- included in main package
Dim pdf1 = PdfDocument.FromFile("file1.pdf")
Dim pdf2 = PdfDocument.FromFile("file2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

Weitere Optionen zur Zusammenführung finden Sie in der PDF-Dokumentation zur Zusammenführung.

Benutzerdefinierte Seitengrößen

ExpertPdf verwendet Punkte.IronPDF arbeitet mit Millimetern. Konvertieren: points / 72 * 25.4 = mm

Post-Migrations-Checkliste

Überprüfen Sie nach Abschluss der Codemigration Folgendes:

  • Visueller Vergleich der generierten PDFs
  • Überprüfen Sie Kopf- und Fußzeilen sowie Seitenzahlen
  • Sicherheits-/Verschlüsselungseinstellungen testen
  • Zusammenführungsvorgänge validieren
  • Benutzerdefinierte Seitengrößen prüfen
  • Leistungsvergleich
  • Plattformübergreifende Tests
  • ExpertPdf-Lizenzdateien entfernen
  • Dokumentation aktualisieren

Zukunftssicherheit für Ihre PDF-Infrastruktur

Angesichts der bevorstehenden Entwicklung von .NET 10 und der Einführung neuer Sprachfunktionen in C# 14 ist die Wahl einer PDF-Bibliothek mit aktiver Entwicklung und modernem Rendering ein Garant für langfristige Kompatibilität. Die monatlichen Updates von IronPDF und die neueste Chromium-Engine bilden die Grundlage für die PDF-Erzeugung, die auch in den Jahren 2025 und 2026 noch korrekt mit modernen CSS3-Layouts (Flexbox, Grid) funktioniert - im Gegensatz zur veralteten Chrome-Version von ExpertPdf, die auf der Stelle tritt.

Zusätzliche Ressourcen


Die Migration von ExpertPdf zu IronPDF beseitigt die Probleme der eingefrorenen Dokumentation, des veralteten Chrome-Renderings, der fragmentierten Produktlizenzierung und der begrenzten modernen .NET-Unterstützung. Der Übergang zu einer aktiv gepflegten Bibliothek mit der neuesten Chromium-Engine stellt sicher, dass Ihre PDF-Erstellung mit den sich entwickelnden Webstandards und .NET-Frameworks Schritt hält.

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