Wie man Markdown in PDF konvertiert
ExpertPdf ist ein kommerzieller HTML-zu-PDF-Konverter for .NET, herausgegeben vonOutside Software Inc.Die neueste Version auf nuget.org ist v20.1.0 (April 2025), sodass die Suite noch aktiv ausgeliefert wird — die Reibung liegt in der Produktform, nicht in der Aufgabe. ExpertPdfverlässt sich auf eine Trident (IE) Engine plus eine "WebKit2" Engine, die in v12.2 hinzugefügt wurde; moderner Chromium ist nicht die Standardeinstellung. Öffentliche ComponentSource-Listings haben historisch den HtmlToPdf-Konverter zu etwa $550–$1.200 pro Tier gezeigt (direkt beim Anbieter verifizieren). Das Toolkit ist auch auf separate NuGet-Pakete aufgeteilt — HtmlToPdf, MergePdf, PdfSecurity, SplitPdf, PdfToImage, PdfCreator — jedes typischerweise separat lizenziert. Dieses Handbuch bietet einen schrittweisen Migrationspfad von ExpertPdfzu IronPDF, einer .NET PDF-Bibliothek mit dem aktuellsten Chromium-Rendering, häufigen Releases und einem All-In-One-Paket.
Warum von ExpertPdfzu 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
-
Knappe Dokumentation, langsame Kadenz: Referenzdokumentationen existieren auf html-to-pdf.net, aber Tutorials, Featureartikel und Changelog-Einträge sind selten. Die Release-Notes für v20.1 (April 2025) listen "Fehlerbehebungen und Leistungsverbesserungen" auf — keine Hauptfunktionen.
-
Ältere Rendering-Pipelines: ExpertPdfliefert eine Trident (IE) Engine plus eine "WebKit2" Engine, die in v12.2 hinzugefügt wurde; moderner Chromium ist nicht die Standardeinstellung. CSS3-Features wie Flexbox, Grid und CSS-Variablen rendern am besten auf der "WebKit2" Engine — prüfen Sie vor dem Migrieren großer Bestände gegen Ihren Ziel-HTML.
-
Premium-Preise für einen alternden Stack: Öffentliche ComponentSource-Listings haben historisch den HtmlToPdf-Konverter zu etwa $550–$1.200 pro Tier gezeigt (verifizieren Sie direkt beim Anbieter — die Bestellseite auf expertpdf.net war zum Zeitpunkt des Schreibens nicht zugänglich).
-
Fragmentierte Produkt-Suite: ExpertPdfverkauft separate Pakete —
ExpertPdf.HtmlToPdf.NetCore/ExpertPdfHtmlToPdf,ExpertPdf.MergePdf,ExpertPdf.PdfSecurity,ExpertPdf.SplitPdf,ExpertPdf.PdfToImage,ExpertPdf.PdfCreator— die typischerweise separat lizenziert werden. - Keine nativen modernen .NET-Ziele: Die
.NetCore-Pakete zielen auf .NET Standard 2.0 / .NET Framework 4.6.1, sodass sie auf .NET 5/6/7/8/9 laufen — jedoch erhalten Sie keine nativen Multi-Target-Builds, Trim-freundliche Assemblies oder asynchrone First-APIs.
Architektur-Vergleich
| Aspekt | ExpertPdf | IronPDF |
|---|---|---|
| Anbieter | Outside Software Inc. | Iron Software |
| Neueste Version (nuget.org) | v20.1.0 (Apr 2025) | Kontinuierlich aktualisiert |
| Dokumentation | Nur Referenzdokumente, wenig Tutorials | Kontinuierlich aktualisiert |
| Rendering Engine | Trident (IE) + "WebKit2" (hinzugefügt in v12.2) | Neuestes Chromium |
| CSS-Unterstützung | CSS3 am besten auf WebKit2; teilweise auf älteren | Vollständiges CSS3 (Flexbox, Grid) |
| Preis | ~$550–$1.200 (beim Anbieter verifizieren) | Siehe ironpdf.com/pricing |
| Produktmodell | Fragmentiert (6+ NuGet-Pakete) | All-in-One-Bibliothek |
| Modernes .NET | .NET Standard 2.0 (läuft auf .NET 5-9) | .NET 6/7/8/9+ Multi-target |
| Async-Unterstützung | Beschränkt | Vollständig async/await |
Wichtige Vorteile der Migration
- Modernes Rendering: Neueste Chromium-Engine für pixelgenaue Ausgabe
- Komplettpaket: PDF-Erstellung, Zusammenführung, Sicherheit und Extraktion in einem NuGet
- Aktive Weiterentwicklung: Monatliche Updates mit neuen Funktionen und Sicherheitspatches
- Bessere Dokumentation: Umfassende Tutorials und Beispiele
- 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 ExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
# Find all ExpertPdfreferences
grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" .
# Check NuGet packages
dotnet list package | grep -i "ExpertPdf"
Häufige ExpertPdf-Pakete, nach denen zu suchen ist (genauen Namen auf nuget.org verifizieren — die Suite benutzt inkonsistente Groß-Kleinschreibung):
ExpertPdfHtmlToPdf(.NET Framework) /ExpertPdf.HtmlToPdf.NetCore(.NET Core / 5-9) — HTML to PDFExpertPdf.MergePdf— PDF-ZusammenführungExpertPdf.PdfSecurity— Verschlüsselung und PasswörterExpertPdf.SplitPdf— PDF-TeilungExpertPdf.PdfToImage— PDF-zu-Bild-KonvertierungExpertPdf.PdfCreator— vollständiges PDF-SDK (Zeichnen, Formulare, Signaturen)
Verständnis der Core Pattern Änderung
ExpertPdf verwendet PdfConverter mit direkter Byte-Array-Rückgabemethode.IronPDF verwendet ChromePdfRenderer, das PdfDocument-Objekte zurückgibt, die zusätzliche Bearbeitungsmöglichkeiten vor dem Speichern bieten.
Schritt-für-Schritt-Migrationsprozess
Schritt 1: NuGet-Pakete aktualisieren
Entfernen Sie alle ExpertPdf-Pakete und installieren Sie IronPDF:
# Remove all ExpertPdfpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator
# Install IronPDF(includes all features)
dotnet add package IronPdf
# Remove all ExpertPdfpackages (use whichever variants you have installed)
dotnet remove package ExpertPdfHtmlToPdf
dotnet remove package ExpertPdf.HtmlToPdf.NetCore
dotnet remove package ExpertPdf.MergePdf
dotnet remove package ExpertPdf.PdfSecurity
dotnet remove package ExpertPdf.SplitPdf
dotnet remove package ExpertPdf.PdfToImage
dotnet remove package ExpertPdf.PdfCreator
# Install IronPDF(includes all features)
dotnet add package IronPdf
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
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"
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 | IronPDF RenderingOptionen |
|---|---|
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 ExpertPdfs Byte-Array-Muster zu IronPDFs 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
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
Der Ansatz von IronPDF gibt ein PdfDocument-Objekt zurück, das zusätzliche Manipulationen (Zusammenführen, Wasserzeichen, Sicherheit) vor dem Speichern ermöglicht. 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
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
IronPDFs RenderingOptions bietet direkten Zugriff auf Eigenschaften für die Seitenkonfiguration. Weitere Optionen finden Sie in der URL zur PDF-Dokumentation.
Kopf- und Fußzeilen mit Seitenzahlen
Dieses Beispiel zeigt den wesentlichen Unterschied in der Konfiguration von Kopf- und Fußzeilen: ExpertPdfverwendet separate PdfHeaderOptions- und PdfFooterOptions-Klassen mit &P;-Tokens, während IronPDFTextHeaderFooter mit {total-pages}-Platzhaltern 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
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
IronPDFs TextHeaderFooter bietet LeftText-, CenterText- und RightText-Eigenschaften mit optionalen Trennlinien. Für HTML-basierte Kopfzeilen 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 = "YOUR-LICENSE-KEY";
// ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE";
//IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' ExpertPdf- per converter
pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"
' IronPDF- global, set once
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
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}"
Fragmentierte Pakete konsolidiert
Die separaten Pakete von ExpertPdf(PDFMerge, PDFSecurity, PDFSplit, PdfToImage) sind alle im Einzelpaket von IronPDF enthalten:
// ExpertPdf- requires separate ExpertPdf.MergePdf package
PDFMerge 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 ExpertPdf.MergePdf package
PDFMerge 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 ExpertPdf.MergePdf 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")
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
Zusätzliche Ressourcen
Die Migration von ExpertPdfzu IronPDF ersetzt knappe Dokumentation, veraltete Rendering-Pipelines und fragmentierte Produktlizenzierung durch eine aktiv gewartete Bibliothek auf der neuesten Chromium-Engine — das hält Ihre PDF-Erzeugung mit aktuellen Webstandards und modernen .NET-Zielen im Einklang.

