PRODUKT-VERGLEICHE

Wie man PDF-Dokumente in C# mit iTextSharp liest:

Veröffentlicht 3. April 2024
Teilen Sie:

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.

Wie man PDF-Dokumente in C# liest; mit iTextSharp

  1. Öffnen oder Erstellen eines Visual Studio Projekt.

  2. Installieren Sie die iTextSharp-Bibliothek.

  3. Fügen Sie den erforderlichen Namensraum hinzu.

  4. Wählen Sie die zu lesende PDF-Datei aus.

  5. Erstellen Sie eine Instanz eines PDF-Readers.

  6. Erstellen Sie eine Instanz eines PDF-Dokuments.

  7. Schleife durch jede Seite des Dokuments, um Text zu extrahieren.

  8. Drucken Sie den extrahierten Text auf der Konsole aus.

Was ist itextSharp?

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.

Lesen von PDF-Dateien

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

ITextSharp PDF-Bibliothek installieren

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

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 1 - Installieren Sie iTextSharp mit der NuGet Package Manager Console in Visual Studio und fügen Sie den folgenden Befehl hinzu: "Install-package itext7".

Lesen von PDF-Dokumenten mit iTextSharp PDF-Reader

Ich werde das folgende PDF-Dokument als Eingabe für dieses Beispiel verwenden.

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 2 - Original-PDF-Dokument

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
VB   C#

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
VB   C#

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.

Code Erläuterung

1. Dateipfad und Initialisierung

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

2. Prüfung der Dateiexistenz

Die wenn (File.Exists(dateiname)) Bedingung prüft, ob die angegebene Datei existiert. Wenn die Datei vorhanden ist, wird der folgende Codeblock ausgeführt.

3. PDF-Dokumentenverarbeitung

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.

4. Textextraktion aus PDF-Dateien

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.

5. Anzeige des kumulierten Textes

Schließlich wird der aufgelaufene Text mit Console.WriteLine() Methode.

Ausgabe

Die extrahierte PDF-Textausgabe sieht wie folgt aus:

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 3 - Konsolenausgabe: Extrahieren des Textes aus dem PDF-Dokument "What_is_pdf.pdf" mit iTextSharp und Anzeige als reiner Text in der Konsole.

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.

Einführung in IronPDF

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.

IronPDF-Bibliothek installieren

Verwendung der Paketmanager-Konsole in Visual Studio

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.

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 4 - Installieren Sie die IronPDF-Bibliothek über die NuGet-Paketmanager-Konsole und geben Sie den folgenden Befehl ein: "Install-package IronPDF"

NuGet Manage Packages für die Lösung verwenden

Suchen Sie auf der Registerkarte Durchsuchen" von NuGet nach der IronPDF"-Bibliothek und klicken Sie auf Installieren".

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 5 - Installieren Sie IronPDF mit dem Manage NuGet Package for Solutions, indem Sie "IronPDF" in der Suchleiste des NuGet Package Manager suchen, dann das Projekt auswählen und auf die Schaltfläche Installieren klicken.

Lesen einer PDF-Datei mit IronPDF

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
VB   C#

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

Code Erläuterung

1. Laden des PDF-Dokuments

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.

2. Gesamten Text extrahieren

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.

3. Anzeige des extrahierten Textes

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.

Ausgabe

Wie man PDF-Dokumente in C# mit iTextSharp liest:: Abbildung 6 - Konsolenausgabe: Verwendung von IronPDF, um den Text aus dem PDF-Dokument "What_is_pdf.pdf" zu extrahieren und ihn als reinen Text in der Konsole anzuzeigen.

IronPDF bietet auch die Möglichkeit, Text aus einer PDF-Datei zu extrahieren, und zwar Seite für Seite.

Lesen Sie die PDF-Datei, 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
VB   C#

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.

Code Erläuterung

1. Initialisierung und PDF-Laden

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.

2. Textextraktion aus Seiten

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

3. Anzeige des kumulierten Textes

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.

Schlussfolgerung

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.

< PREVIOUS
Hinzufügen von Seitenzahlen in PDF mit iTextSharp in C#
NÄCHSTES >
iTextSharp Read PDF-Alternativen (Entwickler-Tutorial)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >