using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Extrahieren von Text aus PDF in C# mit iTextSharp VS IronPDF
Chipego Kalinda
24. April 2025
Teilen Sie:
Einführung
Das Extrahieren von Text aus PDF-Dokumenten ist eine häufige Anforderung in modernen Softwareprojekten - von der Verarbeitung von Rechnungen bis hin zur Gewinnung von Inhalten für Suchmaschinen. Entwickler benötigen zuverlässige Bibliotheken, die nicht nur genaue Ergebnisse liefern, sondern auch eine effiziente Integrationserfahrung in C# .NET-Anwendungen bieten. Einige Entwickler verwenden OCR (optische Zeichenerkennung)-Tools, um Daten aus gescannten Dokumenten und Bildern zu extrahieren, aber manchmal erfordert die Aufgabe ein robustes Text-Extraktionswerkzeug.
Aber mit mehreren PDF-Bibliotheken auf dem Markt kann die Wahl des richtigen Tools überwältigend sein. Zwei Bibliotheken, die oft in der Diskussion auftauchen, sind iTextSharp und IronPDF. Beide können Text aus PDFs extrahieren, unterscheiden sich jedoch erheblich in Bezug auf Benutzerfreundlichkeit, Support, Leistung und Preisgestaltung. Dieser Artikel vergleicht die beiden Bibliotheken, indem verschiedene Codebeispiele betrachtet werden, um zu zeigen, wie sie die Textextraktion handhaben, damit Sie entscheiden können, welche am besten zu Ihrem Projekt passt.
Ein Überblick über IronPDF und die iTextSharp-Bibliothek
iTextSharp ist seit langem eine beliebte Open-Source-PDF-Bibliothek für .NET, die leistungsstarke Werkzeuge zum Erzeugen, Bearbeiten und Extrahieren von Inhalten bietet. Als C#-Port des Java-basierten iText bietet es umfassende Kontrolle über PDF-Strukturen – ideal für fortgeschrittene Benutzer. Diese Flexibilität geht jedoch mit einer steilen Lernkurve und Lizenzbeschränkungen einher; Kommerzielle Nutzung erfordert oft eine kostenpflichtige Lizenz, um AGPL-Verpflichtungen zu vermeiden.
Enter IronPDF—eine moderne, entwicklerfreundliche PDF-Bibliothek, die für .NET entwickelt wurde. Es rationalisiert gängige Aufgaben wie die Textextraktion mit einer intuitiven API, klarer Dokumentation und reaktionsschnellem Support. Mit diesem Tool können Entwickler mühelos Bilder und Texte aus PDF-Dokumenten extrahieren, neue PDF-Dateien erstellen, PDF-Sicherheit implementieren und mehr.
Im Gegensatz zu iTextSharp vermeidet IronPDF komplexe Low-Level-Strukturen, sodass Sie schneller und effizienter arbeiten können. Ob Sie eine einzelne Seite oder Hunderte von PDFs verarbeiten, es bleibt einfach.
Es wird zudem aktiv gepflegt, mit regelmäßigen Updates und einem unkomplizierten Lizenzierungsmodell, das eine kostenlose Testversion und erschwingliche Pläne für Teams und einzelne Entwickler umfasst.
Installation und Verwendung von IronPDF
Installation mit NuGet
PM > Install-Package IronPdf
Schauen Sie sich IronPDF auf NuGet für eine schnelle Installation an. Mit über 10 Millionen Downloads revolutioniert es die PDF-Entwicklung mit C#. Sie können auch die DLL oder den Windows-Installer herunterladen.
IronPDF kann auch über NuGet installiert werden, indem der folgende Befehl in der NuGet-Paket-Manager-Konsole ausgeführt wird:
Install-Package IronPdf
Alternativ können Sie es über den NuGet-Paket-Manager auf dem Solution-Bildschirm installieren. Um dies zu tun, navigieren Sie zu "Tools > NuGet-Paket-Manager > NuGet-Pakete für Lösung verwalten".
Dann suchen Sie nach IronPDF und klicken auf "Installieren".
Text aus PDF-Dateien extrahieren mit IronPDF
Nach der Installation ist das Extrahieren von Text einfach:
using IronPdf;
var pdf = PdfDocument.FromFile("invoice.pdf");
string extractedText = pdf.ExtractAllText();
Console.WriteLine(extractedText);
using IronPdf;
var pdf = PdfDocument.FromFile("invoice.pdf");
string extractedText = pdf.ExtractAllText();
Console.WriteLine(extractedText);
Imports IronPdf
Private pdf = PdfDocument.FromFile("invoice.pdf")
Private extractedText As String = pdf.ExtractAllText()
Console.WriteLine(extractedText)
📝 Hinweis: Diese Methode liest die gesamte PDF-Datei und gibt den Text in Lesereihenfolge zurück, was Stunden der Parsierungszeit im Vergleich zu herkömmlichen Bibliotheken spart.
Keine Notwendigkeit zur Handhabung von Codierungen, Inhaltsströmen oder manueller Analyse. IronPDF erledigt all das intern und bietet saubere und präzise Ergebnisse mit minimalem Setup. Anschließend können Sie den extrahierten Text einfach in eine neue Textdatei speichern, um ihn weiter zu bearbeiten oder zu verwenden.
Installieren der iTextSharp PDF-Bibliothek
Um das Kernpaket von iTextSharp für die PDF-Erstellung herunterzuladen:
Install-Package iTextSharp
Sie können iTextSharp auch über den Paket-Manager für die Lösung Bildschirm. Dazu müssen Sie zunächst zum Dropdown-Menü „Tools“ gehen und dann „NuGet-Paket-Manager > Verwalten von NuGet-Paketen für die Lösung“ finden.
Dann suchen Sie einfach nach iTextSharp und klicken Sie auf "Installieren".
Extrahieren Sie Text aus PDF-Dokumenten mit iTextSharp
Hier ist ein Beispiel, um Text aus einer einzelnen PDF-Seite zu extrahieren:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
string path = "sample.pdf";
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
var strategy = new SimpleTextExtractionStrategy();
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
string path = "sample.pdf";
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
var strategy = new SimpleTextExtractionStrategy();
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Private path As String = "sample.pdf"
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
Dim strategy = New SimpleTextExtractionStrategy()
Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)
Console.WriteLine(pageText)
End Using
End Using
Dieses Beispiel demonstriert die Fähigkeiten von iTextSharp, aber beachten Sie die Umständlichkeit und die zusätzlichen Objekte, die erforderlich sind, um eine einfache Aufgabe zu erledigen.
Detaillierter Vergleich
Nun, da wir die Installation und die grundlegende Nutzung behandelt haben, werfen wir einen genaueren Blick darauf, wie diese beiden Bibliotheken den Textextraktionsprozess bewältigen, indem sie Text aus einem mehrseitigen PDF-Dokument extrahieren.
Erweitertes Beispiel: Extrahieren von Text aus einem Seitenbereich mit IronPDF
IronPDF unterstützt eine granulare Kontrolle über die Seitenauswahl und layoutbewusste Textextraktion.
using IronPdf;
// Load PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
int[] pages = new[] { 2, 3, 4 };
var text = pdf.ExtractTextFromPages(pages);
Console.WriteLine("Extracted text from pages 2, 3, and 4:" + text);
using IronPdf;
// Load PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
int[] pages = new[] { 2, 3, 4 };
var text = pdf.ExtractTextFromPages(pages);
Console.WriteLine("Extracted text from pages 2, 3, and 4:" + text);
Imports IronPdf
' Load PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")
Private pages() As Integer = { 2, 3, 4 }
Private text = pdf.ExtractTextFromPages(pages)
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & text)
Ausgabe
Fortgeschrittenes Beispiel: Extrahieren von Text aus einem Seitenbereich mit iTextSharp
In iTextSharp müssen Sie den Seitenbereich manuell angeben und Text mit PdfTextExtractor extrahieren:
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();
// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
textBuilder.AppendLine(pageText);
}
// Output the extracted text
Console.WriteLine(textBuilder.ToString());
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();
// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
textBuilder.AppendLine(pageText);
}
// Output the extracted text
Console.WriteLine(textBuilder.ToString());
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text
' Load PDF document
Private reader As New PdfReader("longPdf.pdf")
Private textBuilder As New StringBuilder()
' Extract text from pages 2–4
For i As Integer = 2 To 4
Dim pageText As String = PdfTextExtractor.GetTextFromPage(reader, i, New LocationTextExtractionStrategy())
textBuilder.AppendLine(pageText)
Next i
' Output the extracted text
Console.WriteLine(textBuilder.ToString())
reader.Close()
Ausgabe
Vergleichszusammenfassung des Codes
Sowohl IronPDF als auch iTextSharp sind in der Lage, fortschrittliche PDF-Textauszüge durchzuführen, aber ihre Ansätze unterscheiden sich erheblich in Komplexität und Klarheit:
IronPDF bleibt sauber und zugänglich. Seine Methoden auf hohem Niveau wie PdfDocument.ExtractAllText() ermöglichen das Extrahieren von strukturierten Inhalten mit minimalem Aufwand. Der Code ist einfach und leicht implementierbar, selbst für Entwickler, die neu in der PDF-Verarbeitung sind.
iTextSharp erfordert dagegen ein tieferes Verständnis der PDF-Struktur. Das Extrahieren von Text beinhaltet das Einrichten von benutzerdefinierten Render-Listenern, das manuelle Verwalten von Seiten und das Interpretieren von Layoutdaten Zeile für Zeile. Während dies leistungsstark ist, ist es umständlicher und weniger intuitiv, was IronPDF zu einer schnelleren und leichter wartbaren Option für die meisten .NET-Projekte macht.
Aber unser Vergleich endet hier nicht, als Nächstes schauen wir uns an, wie diese beiden Bibliotheken in anderen Bereichen abschneiden.
Detaillierter Vergleich: IronPDF vs iTextSharp
Bei der Bewertung von PDF-Text-Extraktionsbibliotheken für .NET wägen Entwickler oft die Balance zwischen Einfachheit, Leistung und langfristigem Support ab. Lassen Sie uns aufschlüsseln, wie IronPDF und iTextSharp im praktischen Einsatz abschneiden, insbesondere beim Extrahieren von Text aus PDFs in C#.
Benutzerfreundlichkeit
✅ IronPDF: Saubere und moderne API
IronPDF legt Wert auf die Entwicklererfahrung. Die Installation ist einfach über NuGet, und die Syntax ist intuitiv:
using IronPdf;
// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from every page
string extractedText = pdf.ExtractAllText();
// Output
Console.WriteLine(extractedText);
using IronPdf;
// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from every page
string extractedText = pdf.ExtractAllText();
// Output
Console.WriteLine(extractedText);
Imports IronPdf
' Load the PDF
Private pdf = PdfDocument.FromFile("sample.pdf")
' Extract all text from every page
Private extractedText As String = pdf.ExtractAllText()
' Output
Console.WriteLine(extractedText)
IronPDF abstrahiert die Komplexität hinter einfachen Methodenaufrufen wie ExtractAllText(), sodass kein Boilerplate- oder Parsing-Logik erforderlich ist.
iTextSharp: Ausführlicher und auf niedrigerer Ebene
iTextSharp erfordert das manuelle Parsen jeder Seite und mehr Aufwand, um reinen Text zu extrahieren.
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
// Output
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
// Output
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
' Load the PDF
Private reader = New PdfReader("sample.pdf")
Private text As New StringBuilder()
For i As Integer = 1 To reader.NumberOfPages
text.Append(PdfTextExtractor.GetTextFromPage(reader, i))
Next i
' Output
Console.WriteLine(text.ToString())
Entwickler müssen manuell durch Seiten schleifen, was mehr Code und potenzielles Fehlerpotenzial bei Auftreten von Randfällen mit sich bringt.
2. Leistung und Zuverlässigkeit
IronPDF basiert auf einer modernen Rendering-Engine (Chromium), wodurch es sich gut für moderne PDFs eignet, selbst für solche mit eingebetteten Schriftarten, gedrehtem Text und mehreren Layouts. Die Textextraktion ist layout-bewusst und bewahrt den Abstand natürlicher.
iTextSharp, obwohl leistungsstark, kann mit komplexer Formatierung Schwierigkeiten haben. PDF-Dateien mit gemischter Ausrichtung oder nicht standardmäßigen Kodierungen können zu unleserlichem oder falsch geordnetem Text führen.
Preistransparenz Öffentliche Preisgestaltung & unbefristete Lizenzierung Komplexe Stufen und Umverteilungsregeln
Unterstützung Engagiertes Support-Team Community-Support (sofern nicht lizenziert)
Verwendung in geschlossener Quell-App ✅ Ja (mit Lizenz) ❌ Nicht mit AGPL
📌 Hinweis: Wenn Sie kommerzielle oder proprietäre Software entwickeln, wird iTextSharp AGPL Sie dazu zwingen, Ihren Code als Open Source zu veröffentlichen oder eine kommerzielle Lizenz zu erwerben.
IronPDF bietet ein flexibleres Lizenzmodell für proprietäre Projekte.
4. Entwicklerunterstützung und Dokumentation
IronPDF: Wird mit moderner Dokumentation, Video-Tutorials und schnellem, ticketbasiertem Support geliefert.
iTextSharp: Gute Dokumentation, aber eingeschränkter kostenloser Support, es sei denn, Sie sind ein zahlender Kunde.
Leistung Schnelles und modernes Parsing ⚠️ Langsamer bei komplexen oder gescannten PDFs
Kommerziell freundlich ✅ Ja, keine AGPL-Beschränkungen ❌ AGPL schränkt die Verwendung in Closed-Source-Anwendungen ein
Support & Docs ✅ Engagiert, reaktionsschnell ⚠️ Community-abhängig
.NET Core-Unterstützung ✅ Vollständig ✅ Voll
Schlussfolgerung
Wenn es darum geht, Text aus PDFs in C# zu extrahieren, sind sowohl IronPDF als auch iTextSharp fähige Werkzeuge – aber sie bedienen unterschiedliche Arten von Entwicklern. Wenn Sie nach einer modernen, einfach zu integrierenden Lösung mit exzellentem Support, aktiv gepflegten Funktionen und nahtloser Layout-Erhaltung suchen, sticht IronPDF deutlich hervor. Es reduziert die Entwicklungszeit, bietet intuitive APIs und funktioniert gut über ein breites Spektrum von Anwendungen innerhalb des .NET-Frameworks, von Web-Apps bis hin zu Enterprise-Systemen.
Andererseits bleibt iTextSharp eine starke Option für Entwickler, die bereits in dessen Ökosystem eingebunden sind oder die eine granulare Kontrolle über Textentnahmestrategien benötigen. Jedoch kann seine steilere Lernkurve und das Fehlen kommerzieller Unterstützung Projekte verlangsamen, die schnell skalieren oder saubere Codebasen aufrechterhalten müssen.
Für .NET-Entwickler, die Geschwindigkeit, Klarheit und zuverlässige Ergebnisse schätzen, bietet IronPDF einen zukunftssicheren Weg. Ob Sie Dokumentautomatisierungswerkzeuge, Suchmaschinen oder interne Dashboards entwickeln, die robusten Funktionen und die Leistung von IronPDF helfen Ihnen, schneller und intelligenter zu liefern.
👉 Probieren Sie IronPDF noch heute aus, indem Sie die kostenlose Testversion herunterladen und erleben Sie den Unterschied selbst. Mit einer kostenlosen Testversion und einer entwicklerfreundlichen API können Sie in wenigen Minuten loslegen.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS iTextSharp-Dokumentation im Vergleich zu IronPDF geprüft
NÄCHSTES > IronPDF und Puppeteer C#: Ein Vergleich