IRONSOFTWAREHOME
VIDEOS

Wie man XML in PDF mit C# konvertiert

Curtis Chau
Curtis Chau
Updated: 19. Juli 2026

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:

  1. Begrenzte PDF-Erstellung: Neue Dokumente erfordern eine manuelle PdfPoint-Koordinatenplatzierung über PdfDocumentBuilder — keine hochgradige Layoutfunktion.

  2. 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.

  3. Begrenzte Dokumentmanipulation: PdfMerger deckt das Zusammenfügen ab, aber es gibt keine API für das Trennen/Drehen/Bearbeiten auf hohem Niveau.

  4. Keine Sicherheitserstellung: Kann verschlüsselte PDFs (mit Passwort) lesen, aber keine Passwörter, Verschlüsselung oder digitale Signaturen hinzufügen.

  5. Keine Wasserzeichen/Stempel: Keine hochrangige API für visuelle Overlays auf bestehenden Dokumenten.

  6. Keine Formularbefüllung: Formulare sind schreibgeschützt — Werte können nicht geändert oder hinzugefügt werden.

PdfPigvs IronPDF Vergleich

FeaturePdfPigIronPDF
LizenzOffene Quelle (Apache 2.0)Kommerziell
NuGet -PaketPdfPig (v0.1.14, vor 1.0)IronPdf
PDF-Lesen/ExtraktionAusgezeichnetAusgezeichnet
PDF-ErstellungBegrenzt (koordinatenbasiert über PdfDocumentBuilder)Umfassend
HTML zu PDFNicht unterstütztUnterstützt
TextextraktionAusgezeichnet (mit Wort-Begrenzungsrahmen)Ausgezeichnet (nur Text)
PDF-ZusammenführungUnterstützt (PdfMerger)Unterstützt (PdfDocument.Merge)
Teilen / Drehen / BearbeitenNicht unterstützt (hochrangig)Unterstützt
WasserzeichenNicht unterstütztUnterstützt
Sicherheits-/VerschlüsselungserstellungNicht unterstütztUnterstützt
Unterstützung und DokumentationCommunity-UnterstützungDedizierte Unterstützung
Seitenindizierung1-basiert0-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

  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

# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// Add at application startup (Program.cs or Startup.cs)
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" .
SHELL

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;

Zuordnungen beim Laden von Dokumenten

PdfPigIronPDF
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

PdfPigIronPDF
document.NumberOfPagespdf.PageCount
document.GetPages()pdf.Pages
document.GetPage(1)pdf.Pages[0]

Textextraktions-Zuordnungen

PdfPigIronPDF
page.Textpdf.Pages[i].Text
page.GetWords()pdf.ExtractTextFromPage(i)
(manual loop)pdf.ExtractAllText()

Metadaten-Zugriffs-Zuordnungen

PdfPigIronPDF
document.Information.Titlepdf.MetaData.Title
document.Information.Authorpdf.MetaData.Author
document.Information.Subjectpdf.MetaData.Subject
document.Information.Creatorpdf.MetaData.Creator
document.Information.Producerpdf.MetaData.Producer

Neue Funktionen, die in PdfPignicht verfügbar sind

IronPDF MerkmalBeschreibung
renderer.RenderHtmlAsPdf(html)Konvertierung von HTML in PDF
renderer.RenderUrlAsPdf(url)Konvertierung von URL in PDF
pdf.ApplyWatermark(html)Wasserzeichen hinzufügen
pdf.SecuritySettings.UserPasswordPasswortschutz
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());
        }
    }
}

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);
    }
}

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");
    }
}

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}");
        }
    }
}

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}");
    }
}

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;

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

Änderung beim Laden des Dokuments

// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var 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;

Eigenschaftsänderung der Seitenzahl

// 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");

Wasserzeichen

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");

Passwortschutz

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);

Zusammenfassung des Funktionsvergleichs

FeaturePdfPigIronPDF
Textextraktion
Zugang zu Metadaten
Bildextraktion
PDF-ErstellungBegrenzt (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() durch PdfDocument.FromFile()
  • Ersetzen Sie document.Information durch pdf.MetaData
  • Ersetzen Sie document.NumberOfPages durch pdf.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.

Hinweis:: Apache PDFBox und PdfPigsind eingetragene Marken ihrer jeweiligen Eigentümer. Diese Seite ist nicht mit der Apache Software Foundation oder UglyToad verbunden oder von ihnen gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.
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 Handbücher.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.