Wie man XML in PDF mit C# konvertiert
Der Umstieg von PdfPigzu IronPDF erweitert Ihre PDF-Möglichkeiten von einer lesezentrierten Bibliothek (mit einer schmalen Schreibfläche für koordinatenbasierte Erstellung und grundlegendes Zusammenführen) zu einer umfassenden PDF-Lösung, die Erstellung, Manipulation, Textextraktion und Sicherheitsfunktionen abdeckt. Diese Anleitung bietet einen vollständigen, schrittweisen Migrationspfad, der Ihre bestehenden Extraktions-Workflows erhält und gleichzeitig HTML-Konvertierung, hochrangige Dokumentenmanipulation, Wasserzeichen und Sicherheitserstellung hinzufügt, die PdfPignicht bietet.
Warum von PdfPigzu IronPDF migrieren
PdfPigverstehen
PdfPig (NuGet-Paket PdfPig, Namespace UglyToad.PdfPig) ist eine Open-Source .NET-Bibliothek zum Lesen und Extrahieren von PDFs, ursprünglich inspiriert und teilweise portiert vom Apache PDFBox-Java-Projekt. Es ermöglicht Entwicklern, auf den strukturellen Inhalt von PDFs mit hoher Präzision zuzugreifen. Während PdfPigim Bereich der Extraktion glänzt, ist sein Umfang enger als der von kommerziellen Vollzyklus-Bibliotheken. Das Projekt bleibt vor Version 1.0 (aktuelle stabile Version ist 0.1.14), und die README-Datei weist darauf hin, dass "solange die Version unter 1.0.0 ist, sich die öffentliche API ohne Vorwarnung ändern wird."
PdfPig bietet zuverlässige Werkzeuge zum Extrahieren von Text (mit Buchstaben- und Wortebenenpositionen), Bildern, schreibgeschützten Formulardaten, Anmerkungen und Metadaten. Es bietet auch eine begrenzte Schreibfunktionalität — PdfDocumentBuilder für die Erstellung neuer Dokumente auf niedriger Ebene und PdfMerger (in UglyToad.PdfPig.Writer) für das Zusammenfügen bestehender PDFs. Das macht es zu einer geeigneten Wahl für Anwendungen, die sich hauptsächlich auf Dokumentenanalyse, Datenmining und grundlegende Zusammenführungen konzentrieren.
Die Lesezentrierte Begrenzung
PdfPig ist lesen-zuerst; seine Schreibfläche ist absichtlich eng. Wenn Ihre Anwendung mehr als Extraktion und grundlegendes Zusammenführen benötigt, kann PdfPignicht helfen:
-
Begrenzte PDF-Erstellung: Neue Dokumente erfordern eine manuelle
PdfPoint-Koordinatenplatzierung überPdfDocumentBuilder— keine hochgradige Layoutfunktion. -
Kein HTML-zu-PDF: PdfPigist eine Bibliothek zum Lesen und Parsen von PDFs, keine Bibliothek zur PDF-Generierung. Für die Konvertierung von HTML in PDF müssten Sie eine andere Bibliothek verwenden.
-
Begrenzte Dokumentmanipulation:
PdfMergerdeckt das Zusammenfügen ab, aber es gibt keine API für das Trennen/Drehen/Bearbeiten auf hohem Niveau. -
Keine Sicherheitserstellung: Kann verschlüsselte PDFs (mit Passwort) lesen, aber keine Passwörter, Verschlüsselung oder digitale Signaturen hinzufügen.
-
Keine Wasserzeichen/Stempel: Keine hochrangige API für visuelle Overlays auf bestehenden Dokumenten.
- Keine Formularbefüllung: Formulare sind schreibgeschützt — Werte können nicht geändert oder hinzugefügt werden.
PdfPigvs IronPDF Vergleich
| Feature | PdfPig | IronPDF |
|---|---|---|
| Lizenz | Offene Quelle (Apache 2.0) | Kommerziell |
| NuGet -Paket | PdfPig (v0.1.14, vor 1.0) |
IronPdf |
| PDF-Lesen/Extraktion | Ausgezeichnet | Ausgezeichnet |
| PDF-Erstellung | Begrenzt (koordinatenbasiert über PdfDocumentBuilder) |
Umfassend |
| HTML zu PDF | Nicht unterstützt | Unterstützt |
| Textextraktion | Ausgezeichnet (mit Wort-Begrenzungsrahmen) | Ausgezeichnet (nur Text) |
| PDF-Zusammenführung | Unterstützt (PdfMerger) |
Unterstützt (PdfDocument.Merge) |
| Teilen / Drehen / Bearbeiten | Nicht unterstützt (hochrangig) | Unterstützt |
| Wasserzeichen | Nicht unterstützt | Unterstützt |
| Sicherheits-/Verschlüsselungserstellung | Nicht unterstützt | Unterstützt |
| Unterstützung und Dokumentation | Community-Unterstützung | Dedizierte Unterstützung |
| Seitenindizierung | 1-basiert | 0-basiert |
IronPDF unterstützt einen kompletten Satz von Funktionen zum Erstellen, Lesen, Bearbeiten und Signieren von PDFs. Diese Vielseitigkeit ermöglicht es Entwicklern, PDF-Dateien von Anfang bis Ende auf modernem .NET zu verwalten und eine vollständige PDF-Lifecycle-Lösung zu bieten, die über die Lesemöglichkeiten von PdfPighinausgeht.
Bevor Sie beginnen
Voraussetzungen
- .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
- IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.
NuGet-Paketänderungen
# Remove PdfPig
dotnet remove package PdfPig
# Install IronPDF
dotnet add package IronPdf
# Remove PdfPig
dotnet remove package PdfPig
# Install IronPDF
dotnet add package IronPdf
Lizenz-Konfiguration
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
PdfPig-Verwendung identifizieren
# Find PdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .
# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
# Find PdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .
# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
Komplette API-Referenz
Namensraumänderungen
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
' Before: PdfPig
Imports UglyToad.PdfPig
Imports UglyToad.PdfPig.Content
Imports UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor
' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
Zuordnungen beim Laden von Dokumenten
| PdfPig | IronPDF |
|---|---|
PdfDocument.Open(path) |
PdfDocument.FromFile(path) |
PdfDocument.Open(bytes) |
PdfDocument.FromBinaryData(bytes) |
PdfDocument.Open(stream) |
PdfDocument.FromStream(stream) |
using (var doc = ...) |
var pdf = ... |
Seitenzugriff und Eigenschaftszuordnungen
| PdfPig | IronPDF |
|---|---|
document.NumberOfPages |
pdf.PageCount |
document.GetPages() |
pdf.Pages |
document.GetPage(1) |
pdf.Pages[0] |
Textextraktions-Zuordnungen
| PdfPig | IronPDF |
|---|---|
page.Text |
pdf.Pages[i].Text |
page.GetWords() |
pdf.ExtractTextFromPage(i) |
| (manual loop) | pdf.ExtractAllText() |
Metadaten-Zugriffs-Zuordnungen
| PdfPig | IronPDF |
|---|---|
document.Information.Title |
pdf.MetaData.Title |
document.Information.Author |
pdf.MetaData.Author |
document.Information.Subject |
pdf.MetaData.Subject |
document.Information.Creator |
pdf.MetaData.Creator |
document.Information.Producer |
pdf.MetaData.Producer |
Neue Funktionen, die in PdfPignicht verfügbar sind
| IronPDF Merkmal | Beschreibung |
|---|---|
renderer.RenderHtmlAsPdf(html) |
Konvertierung von HTML in PDF |
renderer.RenderUrlAsPdf(url) |
Konvertierung von URL in PDF |
pdf.ApplyWatermark(html) |
Wasserzeichen hinzufügen |
pdf.SecuritySettings.UserPassword |
Passwortschutz |
pdf.Sign(certificate) |
Digitale Signaturen |
Hinweis: PDF-Zusammenführung ist in beiden Bibliotheken verfügbar (PdfMerger in PdfPig, PdfDocument.Merge in IronPDF).
Beispiele für die Code-Migration
Beispiel 1: Textextraktion aus PDF
Vor (PdfPig):
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;
class Program
{
static void Main()
{
using (var document = PdfDocument.Open("input.pdf"))
{
var text = new StringBuilder();
foreach (var page in document.GetPages())
{
text.AppendLine(page.Text);
}
Console.WriteLine(text.ToString());
}
}
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;
class Program
{
static void Main()
{
using (var document = PdfDocument.Open("input.pdf"))
{
var text = new StringBuilder();
foreach (var page in document.GetPages())
{
text.AppendLine(page.Text);
}
Console.WriteLine(text.ToString());
}
}
}
Imports UglyToad.PdfPig
Imports System
Imports System.Text
Class Program
Shared Sub Main()
Using document = PdfDocument.Open("input.pdf")
Dim text = New StringBuilder()
For Each page In document.GetPages()
text.AppendLine(page.Text)
Next
Console.WriteLine(text.ToString())
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("input.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("input.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("input.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
Sowohl PdfPigals auch IronPDF bieten hervorragende Textextraktionsfunktionen. Der Hauptunterschied liegt im Codemuster. PdfPigerfordert eine using-Anweisung mit PdfDocument.Open(), eine manuelle Iteration durch die Seiten mit GetPages() und einen StringBuilder, um Text von jeder page.Text-Eigenschaft zu sammeln.
IronPDF vereinfacht dies auf einen einzigen Aufruf: PdfDocument.FromFile() lädt das Dokument, und ExtractAllText() gibt alle Textinhalte auf einmal zurück. Keine using-Anweisung erforderlich, keine manuelle Iteration, kein StringBuilder. Weitere Optionen finden Sie in der Textextraktionsdokumentation.
Beispiel 2: Konvertierung von HTML in PDF
Vor (PdfPig):
PdfPig unterstützt keine HTML-zu-PDF-Konvertierung. PdfPigist eine Bibliothek zum Lesen und Parsen von PDFs, keine Bibliothek zur PDF-Erstellung. Für die Konvertierung von HTML in PDF benötigen Sie eine andere Bibliothek.
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>")
pdf.SaveAs("output.pdf")
End Sub
End Class
Dieses Beispiel verdeutlicht die größte Kompetenzlücke. PdfPigweist ausdrücklich darauf hin, dass es "keine Konvertierung von HTML in PDF unterstützt" und "eine Bibliothek zum Lesen/Parsen von PDFs ist, keine Bibliothek zur PDF-Erzeugung" Wenn Sie mit PdfPigPDFs aus HTML erstellen wollen, müssen Sie eine ganz andere Bibliothek verwenden.
IronPDF bietet native HTML-zu-PDF-Konvertierung durch ChromePdfRenderer. Die RenderHtmlAsPdf()-Methode akzeptiert HTML-Zeichenfolgen und konvertiert sie in PDF-Dokumente, indem intern eine Chromium-Engine für eine genaue Darstellung von HTML, CSS und JavaScript verwendet wird. Das resultierende PdfDocument kann mit SaveAs() gespeichert oder vor dem Speichern weiter bearbeitet werden. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.
Beispiel 3: Lesen von PDF-Metadaten
Vor (PdfPig):
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
class Program
{
static void Main()
{
using (var document = PdfDocument.Open("input.pdf"))
{
var info = document.Information;
Console.WriteLine($"Title: {info.Title}");
Console.WriteLine($"Author: {info.Author}");
Console.WriteLine($"Subject: {info.Subject}");
Console.WriteLine($"Creator: {info.Creator}");
Console.WriteLine($"Producer: {info.Producer}");
Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
}
}
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
class Program
{
static void Main()
{
using (var document = PdfDocument.Open("input.pdf"))
{
var info = document.Information;
Console.WriteLine($"Title: {info.Title}");
Console.WriteLine($"Author: {info.Author}");
Console.WriteLine($"Subject: {info.Subject}");
Console.WriteLine($"Creator: {info.Creator}");
Console.WriteLine($"Producer: {info.Producer}");
Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
}
}
}
Imports UglyToad.PdfPig
Imports System
Class Program
Shared Sub Main()
Using document = PdfDocument.Open("input.pdf")
Dim info = document.Information
Console.WriteLine($"Title: {info.Title}")
Console.WriteLine($"Author: {info.Author}")
Console.WriteLine($"Subject: {info.Subject}")
Console.WriteLine($"Creator: {info.Creator}")
Console.WriteLine($"Producer: {info.Producer}")
Console.WriteLine($"Number of Pages: {document.NumberOfPages}")
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("input.pdf");
var info = pdf.MetaData;
Console.WriteLine($"Title: {info.Title}");
Console.WriteLine($"Author: {info.Author}");
Console.WriteLine($"Subject: {info.Subject}");
Console.WriteLine($"Creator: {info.Creator}");
Console.WriteLine($"Producer: {info.Producer}");
Console.WriteLine($"Number of Pages: {pdf.PageCount}");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("input.pdf");
var info = pdf.MetaData;
Console.WriteLine($"Title: {info.Title}");
Console.WriteLine($"Author: {info.Author}");
Console.WriteLine($"Subject: {info.Subject}");
Console.WriteLine($"Creator: {info.Creator}");
Console.WriteLine($"Producer: {info.Producer}");
Console.WriteLine($"Number of Pages: {pdf.PageCount}");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("input.pdf")
Dim info = pdf.MetaData
Console.WriteLine($"Title: {info.Title}")
Console.WriteLine($"Author: {info.Author}")
Console.WriteLine($"Subject: {info.Subject}")
Console.WriteLine($"Creator: {info.Creator}")
Console.WriteLine($"Producer: {info.Producer}")
Console.WriteLine($"Number of Pages: {pdf.PageCount}")
End Sub
End Class
Beide Bibliotheken bieten Zugriff auf Metadaten mit nahezu identischen Mustern. PdfPiggreift auf Metadaten über document.Information und auf die Seitenanzahl über document.NumberOfPages zu.IronPDF verwendet pdf.MetaData für Metadaten und pdf.PageCount für die Seitenanzahl.
Die Migration ist einfach: Ersetzen Sie PdfDocument.Open() durch PdfDocument.FromFile(), document.Information durch pdf.MetaData und document.NumberOfPages durch pdf.PageCount. Entfernen Sie die using-Anweisungshülle, da IronPDF sie nicht benötigt.
Kritische Hinweise zur Migration
Änderung der Seitenindizierung
PdfPig verwendet eine 1-basierte Indizierung;IronPDF verwendet 0-basierte:
// PdfPig: 1-basiertindexing
var firstPage = document.GetPage(1); // First page
// IronPDF: 0-basiertindexing
var firstPage = pdf.Pages[0]; // First page
// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig: 1-basiertindexing
var firstPage = document.GetPage(1); // First page
// IronPDF: 0-basiertindexing
var firstPage = pdf.Pages[0]; // First page
// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig: 1-based indexing
Dim firstPage = document.GetPage(1) ' First page
' IronPDF: 0-based indexing
Dim firstPage = pdf.Pages(0) ' First page
' Migration helper
Dim pdfPigIndex As Integer = 1
Dim ironPdfIndex As Integer = pdfPigIndex - 1
Nutzungserklärung nicht erforderlich
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
// ...
}
// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
// ...
}
// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
Imports PdfPig
Imports IronPDF
Using document = PdfDocument.Open("input.pdf")
' ...
End Using
Dim pdf = PdfDocument.FromFile("input.pdf")
' ...
' pdf.Dispose() ' Optional
Änderung beim Laden des Dokuments
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))
// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))
// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
Imports PdfPig
Imports IronPDF
Using document = PdfDocument.Open("input.pdf")
End Using
Dim pdf = PdfDocument.FromFile("input.pdf")
Änderung des Namens der Metadaten-Eigenschaft
// PdfPig: document.Information
var info = document.Information;
// IronPDF: pdf.MetaData
var info = pdf.MetaData;
// PdfPig: document.Information
var info = document.Information;
// IronPDF: pdf.MetaData
var info = pdf.MetaData;
' PdfPig: document.Information
Dim info = document.Information
' IronPDF: pdf.MetaData
Dim info = pdf.MetaData
Eigenschaftsänderung der Seitenzahl
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");
// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");
// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
' PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}")
' IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}")
Neue Funktionen nach der Migration
Nach dem Umstieg auf IronPDF erhalten Sie Funktionen, die PdfPignicht bieten kann:
PDF-Zusammenführung
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Wasserzeichen
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
Passwortschutz
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
Digitale Signaturen
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningContact = "support@company.com",
SigningReason = "Document Approval"
};
pdf.Sign(signature);
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningContact = "support@company.com",
SigningReason = "Document Approval"
};
pdf.Sign(signature);
Dim signature As New PdfSignature("certificate.pfx", "password") With {
.SigningContact = "support@company.com",
.SigningReason = "Document Approval"
}
pdf.Sign(signature)
Zusammenfassung des Funktionsvergleichs
| Feature | PdfPig | IronPDF |
|---|---|---|
| Textextraktion | ✓ | ✓ |
| Zugang zu Metadaten | ✓ | ✓ |
| Bildextraktion | ✓ | ✓ |
| PDF-Erstellung | Begrenzt (koordinatenbasiert) | ✓ |
| HTML zu PDF | ✗ | ✓ |
| URL zu PDF | ✗ | ✓ |
| PDFs zusammenführen | ✓(PdfMerger) |
✓ |
| PDFs teilen | ✗ | ✓ |
| Wasserzeichen | ✗ | ✓ |
| Formular ausfüllen | ✗ | ✓ |
| Passwortschutz | ✗ | ✓ |
| Digitale Signaturen | ✗ | ✓ |
| Wortpositionsdaten | ✓ | ✗ |
Migrations-Checkliste
Vor der Migration
- Erfassung aller PdfPig-Nutzungen im Quellcode
- Prüfen Sie, ob Sie Positionsdaten auf Wortebene benötigen (erwägen Sie einen hybriden Ansatz).
- Alle Seitenindexverweise beachten (müssen von 1-basiert in 0-basiert umgerechnet werden)
- Speicherung des IronPDF-Lizenzschlüssels (Umgebungsvariablen empfohlen)
- Zuerst mit der IronPDF Testlizenz testen
Paketänderungen
- Entfernen Sie das NuGet-Paket
PdfPig:dotnet remove package PdfPig - Installieren Sie das NuGet-Paket
IronPdf:dotnet add package IronPdf
Code-Änderungen
- Aktualisieren Sie die Namespace-Importe (
using UglyToad.PdfPig;→using IronPdf;) - Ersetzen Sie
PdfDocument.Open()durchPdfDocument.FromFile() - Ersetzen Sie
document.Informationdurchpdf.MetaData - Ersetzen Sie
document.NumberOfPagesdurchpdf.PageCount - Seitenindizes von 1-basiert auf 0-basiert konvertieren
- Entfernen Sie
using-Anweisungen (optional,IronPDF erfordert sie nicht) - Fügen Sie den IronPDF Lizenzschlüssel beim Anwendungsstart hinzu.
Nach der Migration
- Die Ausgabe der Testtextextraktion entspricht den Erwartungen
- Alle PDF-Generierungsszenarien testen
- Fügen Sie bei Bedarf neue Funktionen hinzu (Zusammenführung, Wasserzeichen, Sicherheit).
- Installieren Sie die Linux-Abhängigkeiten, wenn Sie unter Linux bereitstellen.

