Zum Fußzeileninhalt springen
VIDEOS

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:

  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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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() 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 ...

Weiterlesen

Iron-Support-Team

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