Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Im heutigen digitalen Zeitalter, Portable Document Format (PDF) dateien haben sich aufgrund ihrer Plattformunabhängigkeit und einheitlichen Formatierung zu einem Standard für den Dokumentenaustausch entwickelt. Die iTextSharp-Bibliothek ist eine leistungsstarke Bibliothek für die nahtlose Interaktion mit PDFs für Entwickler, die mit C# arbeiten. In diesem Artikel lernen wir den Prozess des Lesens von PDF-Dateien mit iTextSharp in C#, wobei die wesentlichen Schritte untersucht werden und ein umfassender Leitfaden zur Verfügung gestellt wird, der Ihnen hilft, das Potenzial dieser vielseitigen Bibliothek zu erschließen.
Öffnen oder Erstellen eines Visual Studio Projekt.
Installieren Sie die iTextSharp-Bibliothek.
Fügen Sie den erforderlichen Namensraum hinzu.
Wählen Sie die zu lesende PDF-Datei aus.
Erstellen Sie eine Instanz eines PDF-Readers.
Erstellen Sie eine Instanz eines PDF-Dokuments.
Schleife durch jede Seite des Dokuments, um Text zu extrahieren.
iText 7, früher bekannt als iTextSharp, ist eine leistungsstarke und vielseitige Java- und .NET-Bibliothek zum Erstellen, Bearbeiten und Extrahieren von Inhalten aus PDF-Dokumenten. Es bietet eine umfassende Reihe von Funktionen, einschließlich Text- und Bildverarbeitung, Ausfüllen von Formularen, digitale Signaturen und Wasserzeichen. Ob Sie nun Rechnungen, Berichte oder interaktive Formulare erstellen, iText 7 ermöglicht Entwicklern die effiziente Arbeit mit PDFs.
Lassen Sie uns einige Beispiele für das Lesen von PDF-Dateien in C# besprechen. Um zu beginnen, müssen Sie die iTextSharp-Bibliothek zu Ihrem Projekt hinzufügen
Öffnen Sie Ihr C#-Projekt mit Visual Studio. Gehen Sie im oberen Menü auf "Ansicht" und wählen Sie dann "Paketmanager-Konsole" Dadurch wird die Paketmanager-Konsole am unteren Rand des Visual Studio-Fensters geöffnet.
Vergewissern Sie sich in der Paketmanager-Konsole, dass das Dropdown-Menü "Standardprojekt" auf das Projekt eingestellt ist, in dem Sie das iTextSharp-Paket installieren möchten.
Führen Sie den folgenden Befehl aus, um die iTextSharp-Bibliothek zu installieren:
Install-Package itext7
Dieser Befehl holt die neueste Version von iTextSharp aus dem NuGet-Paket-Repository und installiert sie in Ihrem Projekt. Warten Sie, bis der Installationsvorgang abgeschlossen ist. Die Paketmanager-Konsole zeigt Informationen über den Fortschritt der Installation an.
Ich werde das folgende PDF-Dokument als Eingabe für dieses Beispiel verwenden.
Bevor Sie beginnen, fügen Sie den folgenden Namensraum hinzu:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports System.Text
Der folgende Code liest die obige PDF-Datei, extrahiert den Inhalt und gibt den extrahierten Inhalt auf der Konsole aus.
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
Public Shared Sub Main(ByVal args() As String)
Dim text As New StringBuilder()
Dim fileName As String = "D:/What_is_pdf.pdf"
If File.Exists(fileName) Then
Using pdfReader As New PdfReader(fileName)
Using pdfDocument As New PdfDocument(pdfReader)
Dim page As Integer = 1
Do While page <= pdfDocument.GetNumberOfPages()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page))
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
text.Append(currentText)
page += 1
Loop
End Using
End Using
End If
Console.WriteLine(text.ToString())
End Sub
Der obige Quellcode liest eine PDF-Datei, extrahiert den Text von jeder Seite, konvertiert ihn in UTF-8 und gibt dann den gesamten Textinhalt auf der Konsole aus. Es ist ein einfaches Beispiel dafür, wie man Text aus einer PDF-Datei mit der iTextSharp-Bibliothek in C# extrahiert.
Der Code beginnt mit der Deklaration eines StringBuilders mit dem Namen text, um den extrahierten Text aus der PDF-Datei zu sammeln. Sie definiert auch eine String-Variable Dateiname mit dem Pfad des Dokumentenspeichers. In diesem Fall befindet sich die PDF-Datei unter "D:/What_is_pdf.pdf".
Die wenn (File.Exists(dateiname)) Bedingung prüft, ob die angegebene Datei existiert. Wenn die Datei vorhanden ist, wird der folgende Codeblock ausgeführt.
Innerhalb des if-Blocks wird die PDF-Datei mit einem PdfReader-Objekt geöffnet. Anschließend wird mit dem PdfReader eine PdfDocument-Dateiinstanz erstellt. Die for-Schleife durchläuft jede Seite des PDF-Dokuments.
Für jede PDF-Seite extrahiert es den Textinhalt mit Hilfe der Klasse PdfTextExtractor GetTextFromPage(pdfDocument.GetPage(seite)) Methode. Der extrahierte Text wird zunächst in der Standardkodierung kodiert.
Anschließend wird der Text mit Encoding.UTF8.GetString von der Standardkodierung in UTF-8 konvertiert(ASCIIEncoding.Convert(Kodierung.Standard,Kodierung.UTF8,Kodierung.Standard.GetBytes(aktuellerText))). Der umgewandelte Text wird dann an die Textzeichenfolge angehängt.
Schließlich wird der aufgelaufene Text mit Console.WriteLine() Methode.
Die extrahierte PDF-Textausgabe sieht wie folgt aus:
Auf diese Weise können wir den Inhalt der PDF-Datei lesen. Dieser Ansatz ist komplex und weniger effizient, da mehrere Instanzen erstellt werden. Lassen Sie uns einen alternativen Weg erkunden, der benutzerfreundlicher und äußerst effizient ist.
IronPDF ist eine vielseitige und effiziente C#-Bibliothek, die zur Vereinfachung und Verbesserung der erstellung, manipulationund rendering von PDF-Dokumenten in .NET-Anwendungen. IronPDF ermöglicht es Entwicklern, PDF-bezogene Funktionen nahtlos in ihre Projekte zu integrieren, wobei der Schwerpunkt auf Benutzerfreundlichkeit und Funktionsvielfalt liegt. Die Bibliothek unterstützt eine breite Palette von PDF-Operationen, darunter die Erstellung von PDF-Dokumenten von Grund auf, die Konvertierung von HTML-Inhalt in PDF umwandelnund die extraktion von Text und Bildern aus bestehenden PDF-Dateien. Die intuitive API von IronPDF bietet Entwicklern eine benutzerfreundliche Oberfläche, mit der sie mühelos dynamische und interaktive PDFs erstellen können. Ob Wasserzeichen, Anmerkungen oder die Verschlüsselung von Dokumenten, IronPDF ermöglicht es Entwicklern, PDFs an ihre spezifischen Anforderungen anzupassen. Als zuverlässige Lösung erweist sich IronPDF in Anwendungen, die von der Berichtserstellung über das Dokumentenmanagement bis hin zur Webentwicklung reichen, als hilfreich und bietet ein umfassendes Set an Werkzeugen, um PDF-bezogene Aufgaben in der .NET-Umgebung zu rationalisieren.
Laden Sie IronPDF über die NuGet-Paketmanager-Konsole mit dem folgenden Befehl in Ihr Projekt herunter.
Install-Package IronPdf
Dieser Befehl lädt und installiert die IronPDF NuGet-Paketzusammen mit seinen Abhängigkeiten in Ihr Projekt.
Suchen Sie auf der Registerkarte Durchsuchen" von NuGet nach der IronPDF"-Bibliothek und klicken Sie auf Installieren".
Lesen wir nun die gleiche PDF-Datei mit IronPDF. Der folgende Code extrahiert Text aus dem PDF-Eingabedokument.
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim pdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Console.WriteLine(text)
End Sub
Der obige Code liest eine PDF-Datei namens "What_is_pdf.pdf", extrahiert den gesamten Textinhalt daraus und zeigt den extrahierten Text in der Konsole an
Der Code beginnt mit dem Laden eines PDF-Dokuments aus einer Datei namens "What_is_pdf.pdf". Sie verwendet die Funktion PdfDocument.FromFile() Methode zur Erstellung eines PdfDocument-Objekts aus der angegebenen Datei.
Anschließend wird der gesamte Textinhalt aus dem geladenen PDF-Dokument extrahiert. Die Funktion pdfDocument.ExtractAllText() Die Methode gibt den gesamten Text aus der PDF-Datei als eine einzige Zeichenkette zurück.
Schließlich wird der extrahierte Text in der Variablen text gespeichert. Der Code gibt den extrahierten Text mit Console.WriteLine auf der Konsole aus(text) Methode.
IronPDF bietet auch die Möglichkeit, Text aus einer PDF-Datei zu extrahieren, und zwar Seite für Seite.
Der folgende Code liest ein PDF-Dokument seitenweise mit IronPDF.
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim sb As New StringBuilder()
Using pdf As PdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
For index As Integer = 0 To pdf.PageCount - 1
sb.Append(pdf.ExtractTextFromPage(index))
Next index
Console.WriteLine(sb.ToString())
End Using
End Sub
Der obige Code liest eine PDF-Datei mit dem Namen "What_is_pdf.pdf", extrahiert den Textinhalt von jeder Seite und gibt den kombinierten Text auf der Konsole aus.
Ein StringBuilder namens sb wird erstellt, um den extrahierten Text aus der PDF-Datei zu sammeln. Der Verwendungsnachweis gewährleistet die ordnungsgemäße Entsorgung der Ressourcen. Ein PdfDocument-Objekt mit dem Namen PDF wird durch Laden einer PDF-Datei aus dem Pfad "D:/What_is_pdf.pdf" mit der Methode PdfDocument.FromFile erstellt.
Die for-Schleife durchläuft jede Seite des geladenen PDF-Dokuments. Für jede Seite (indiziert durch Index)extrahiert es den Textinhalt mit pdf.ExtractTextFromPage(index). Der extrahierte Text wird mit sb.Append an den StringBuilder angehängt().
Schließlich wird der gesammelte Text mit sb.ToString in eine einzige Zeichenkette umgewandelt(). Der gesamte extrahierte Text wird mit Console.WriteLine auf der Konsole ausgegeben() Methode.
Zusammenfassend lässt sich sagen, dass die Arbeit mit PDFs in C# das Verständnis wesentlicher Elemente wie eines Byte-Arrays, eines Dokumentinformationsverzeichnisses, einer Querverweistabelle, einer neuen Dateiinstanz und eines statischen Bytes erfordert. Der erste Code mit iTextSharp zeigt einen funktionalen Ansatz, während der zweite Code mit IronPDF eine einfachere und effizientere Methode bietet. IronPDFdie benutzerfreundliche API vereinfacht die Arbeit mit Querverweistabellen, dem Seitenwörterbuch und indirekten Verweisen. IronPDF ist eine vielseitige Lösung, egal ob es sich nur um die Xref-Informationen im Dokument oder um private Schlüsselaspekte für sichere PDFs handelt.
Entwickler, die Folgendes erforschen wollen IronPDF. Die Kundenzufriedenheit steht bei IronPDF an erster Stelle, so dass Entwickler bei ihren Aufgaben im Zusammenhang mit PDF einen hohen Nutzen und eine hohe Effizienz erzielen können.
Weitere Informationen über die Verwendung von IronPDF finden Sie in dieser dokumentation link.
9 .NET API-Produkte für Ihre Bürodokumente