Text aus Seitenbereich in PDF-Datei extrahieren

Einführung

Beim Arbeiten mit PDFs müssen häufig bestimmte Inhalte extrahiert werden, sei es das Abrufen von Daten aus Formularen, Tabellen oder bestimmten Abschnitten eines Dokuments. In diesem Tutorial erfahren Sie, wie Sie mit Aspose.PDF für .NET Text aus einem bestimmten Bereich einer PDF-Datei extrahieren. Anstatt ein ganzes Dokument zu durchsuchen, ermitteln wir genau, wo sich der Text befindet, und extrahieren ihn effizient.

Voraussetzungen

Bevor wir uns in den Code stürzen, stellen Sie sicher, dass Sie die folgenden Elemente eingerichtet haben:

  1. Aspose.PDF für .NET: Falls Sie es noch nicht getan haben, laden Sie die Bibliothek Aspose.PDF für .NET herunter und installieren Sie sie.Laden Sie Aspose.PDF für .NET herunter.
  2. IDE: Jede .NET-Entwicklungsumgebung wie Visual Studio.
  3. .NET Framework: Stellen Sie sicher, dass Ihr Projekt mit dem entsprechenden .NET Framework eingerichtet ist.
  4. PDF-Dokument: Ein Beispiel-PDF, aus dem wir Text extrahieren.

Vergessen Sie nicht, dass SieKostenlose Testversion erhalten von Aspose.PDF oder verwenden Sie einevorläufige Lizenz für die volle Funktionalität.

Erforderliche Pakete importieren

Um mit Aspose.PDF für .NET arbeiten zu können, müssen Sie die erforderlichen Namespaces in Ihr Projekt importieren. Diese Pakete bieten die erforderlichen Klassen und Methoden für die Handhabung von PDF-Dokumenten.

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;

Schritt 1: Einrichten des Dokumentverzeichnisses und Laden der PDF

Der erste Schritt besteht darin, anzugeben, wo sich Ihre PDF-Datei befindet, und sie in Ihr Projekt zu laden. Sie können einen lokalen Verzeichnispfad zu der PDF-Datei verwenden, mit der Sie arbeiten möchten.

// Der Pfad zum Dokumentverzeichnis.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Öffnen Sie das PDF-Dokument
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");

Dieser Schritt stellt sicher, dass die PDF-Datei richtig geladen und zur Bearbeitung bereit ist.Document Mit der Klasse aus der Aspose.PDF-Bibliothek können Sie die PDF-Datei bearbeiten.

Schritt 2: Initialisieren Sie den Text Absorber für die Extraktion

In diesem Schritt erstellen wir eineTextAbsorber Objekt, das dazu dient, Text aus einem PDF-Dokument zu extrahieren. DasTextAbsorber ist flexibel und kann angepasst werden, um den Fokus auf bestimmte Regionen oder Seiten zu legen.

// Erstellen Sie ein TextAbsorber-Objekt zum Extrahieren von Text
TextAbsorber absorber = new TextAbsorber();

DerTextAbsorberKlasse ist ein leistungsfähiges Tool, das den gesamten Text innerhalb der von Ihnen angegebenen Grenzen erfasst.

Schritt 3: Definieren Sie den Bereich, aus dem Text extrahiert werden soll

Und hier geschieht die Magie. Anstatt Text von der gesamten Seite zu extrahieren, können wir die Extraktion auf einen bestimmten rechteckigen Bereich der Seite beschränken. Das ist perfekt, wenn Sie genau wissen, wo sich Ihr Inhalt befindet.

// Beschränken Sie die Textextraktion auf einen bestimmten Bereich
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);

DerRectangle Objekt können Sie die Koordinaten (in Punkten) des Bereichs definieren, aus dem Text extrahiert wird. DasTextSearchOptions.LimitToPageBounds stellt sicher, dass nur Text innerhalb des angegebenen Rechtecks extrahiert wird.

Schritt 4: Akzeptieren Sie den Absorber auf der gewünschten Seite

Nach dem Einrichten der Region ist der nächste Schritt die Annahme derTextAbsorber für die bestimmte Seite, aus der Sie Text extrahieren möchten. Hier konzentrieren wir uns auf die erste Seite der PDF-Datei.

// Akzeptieren Sie den Absorber für die erste Seite
pdfDocument.Pages[1].Accept(absorber);

Durch einen Anruf beiAccept Methode auf der Seite weisen wir Aspose.PDF an, den Absorber auszuführen und den Text aus der definierten Region zu sammeln.

Schritt 5: Abrufen und Speichern des extrahierten Textes

Sobald der Absorber seine Arbeit erledigt hat, ist es an der Zeit, den extrahierten Text zu sammeln und zu speichern. Dieser Schritt umfasst das Abrufen des Textes und das Schreiben in ein.txt Datei.

// Holen Sie sich den extrahierten Text
string extractedText = absorber.Text;

// Erstellen Sie einen Writer, um den extrahierten Text zu speichern
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");

// Schreiben Sie den Text in die Datei
tw.WriteLine(extractedText);

// Schließen Sie den Stream
tw.Close();

Hier dieTextWriter Die Klasse wird verwendet, um den extrahierten Text in eine Textdatei zu schreiben. Dadurch wird sichergestellt, dass Ihr extrahierter Inhalt für die spätere Verwendung sicher gespeichert wird.

Abschluss

Das Extrahieren von Text aus einem bestimmten Bereich innerhalb eines PDF-Dokuments kann unglaublich nützlich sein, insbesondere beim Umgang mit strukturierten Inhalten wie Formularen oder Tabellen. Mit Aspose.PDF für .NET können Sie diese Aufgabe mit nur wenigen Codezeilen erledigen. Durch Definieren eines Bereichs, Initialisieren einesTextAbsorber, und indem Sie den extrahierten Text speichern, haben Sie die volle Kontrolle darüber, was aus Ihrer PDF-Datei extrahiert wird.

Unabhängig davon, ob Sie an einem kleinen Projekt arbeiten oder große Dokumente verwalten, bietet diese Methode eine effiziente Möglichkeit, relevante Daten aus Ihren PDF-Dateien zu extrahieren, ohne das gesamte Dokument durchkämmen zu müssen.

Häufig gestellte Fragen

Kann ich Text aus mehreren Seiten gleichzeitig extrahieren?

Ja, durch Iteration durch diePages Sammlung derpdfDocument können Sie dieTextAbsorber auf mehrere Seiten.

Was ist, wenn sich der Text in einem anderen Bereich des PDF befindet?

Sie können ganz einfach dieRectangle Koordinaten, die mit der Region übereinstimmen, in der sich Ihr Text befindet.

Funktioniert das mit gescannten PDFs?

Nein, gescannte PDFs benötigen OCR (Optical Character Recognition), um Bilder in Text umzuwandeln. Aspose.PDF bietet ebenfalls OCR-Funktionen.

Gibt es eine Möglichkeit, Text basierend auf bestimmten Schlüsselwörtern zu extrahieren?

Ja, Sie könnenTextFragmentAbsorber zur stichwortbasierten Textextraktion.

Wie extrahiere ich Text aus einer verschlüsselten PDF-Datei?

Sie müssen zuerst die PDF-Datei durch Eingabe des richtigen Kennworts entschlüsseln und dann mit der Textextraktion fortfahren.