Text aus DOCX extrahieren

Die meisten Daten werden als visueller Text in Dokumenten, Bildern und im Web dargestellt, daher ist die Extraktion von Textdaten manchmal das Nötigste. Möglicherweise müssen Sie Text oder Bilder aus Word- oder PDF-Dokumenten extrahieren. Als C#-Entwickler können Sie Text problemlos programmgesteuert aus Dokumenten extrahieren. In diesem Artikel erfahren Sie, wie Sie mit C# Text aus DOC- oder DOCX-Dokumenten extrahieren.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

C#-API für die Textextraktion

Ich werde die API GroupDocs.Parser for .NET verwenden, um einen Text aus DOCX-Dokumenten zu extrahieren. Es ermöglicht das Extrahieren von Text, Metadaten und Bildern aus Dokumenten mit unterstützten Dateiformaten wie Word, PDF, Excel und Powerpoint. Es unterstützt auch die Extraktion von rohem, formatiertem und strukturiertem Text sowie Metadaten aus den Dateien unterstützter Formate.

Sie können die DLL der API entweder herunterladen oder mithilfe von NuGet installieren.

Install-Package GroupDocs.Parser

Text aus DOCX mit C# extrahieren

Sie können jedes Dokument einfach parsen und Text extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Erstellen Sie eine Instanz der Klasse Parser.
  • Geben Sie den Dateipfad an
  • Rufen Sie die Methode GetText der Parser-Klasse auf, um Text zu extrahieren
  • Rufen Sie Ergebnisse im TextReader-Klassenobjekt ab
  • Zeigen Sie Ergebnisse an, indem Sie die ReadToEnd-Methode der TextReader-Klasse aufrufen

Das folgende Codebeispiel zeigt, wie Text mithilfe von C# aus einer DOCX-Datei extrahiert wird.

// Erstellen Sie eine Instanz der Parser-Klasse
Parser parser = new Parser(@"C:\Files\sample.docx");

// Extrahieren Sie einen Text in den Reader
using (TextReader reader = parser.GetText())
{
    // Drucken Sie einen Text aus dem Dokument
    // Wenn die Textextraktion nicht unterstützt wird, ist ein Reader null
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
Text aus DOCX mit C# extrahieren

Text aus DOCX mit C# extrahieren

Die Klasse Parser ist die Hauptklasse, die Analysefunktionen und die Extraktion von Text und Bildern bereitstellt. Ich habe den Eingabedateipfad im Konstruktor dieser Klasse angegeben.

Die Methode GetText() der Klasse Parser extrahiert einen Text aus dem angegebenen Dokument.

Formatierten Text aus DOCX mit C# abrufen

Sie können Word-Dokumente einfach analysieren und Text extrahieren, ohne die Stilformatierung zu verlieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Erstellen Sie eine Instanz der Klasse Parser.
  • Geben Sie den Dateipfad an
  • FormattedTextOptions definieren
  • Legen Sie FormattedTextMode auf HTML fest
  • Rufen Sie die Methode GetFormattedText der Parser-Klasse auf, um Text zu extrahieren
  • Rufen Sie Ergebnisse im TextReader-Klassenobjekt ab
  • Zeigen Sie Ergebnisse an, indem Sie die ReadToEnd-Methode der TextReader-Klasse aufrufen

Das folgende Codebeispiel zeigt, wie formatierter Text mit C# aus einer DOCX-Datei extrahiert wird.

// Erstellen Sie eine Instanz der Parser-Klasse
Parser parser = new Parser(@"C:\Files\sample.docx");

// Extrahieren Sie einen formatierten Text in den Reader
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // Drucken Sie einen formatierten Text aus dem Dokument
    // Wenn die Extraktion von formatiertem Text nicht unterstützt wird, ist ein Reader null
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
Extrahieren Sie formatierten Text aus DOCX mit C#

Extrahieren Sie formatierten Text aus DOCX mit C#

Die Klasse FormattedTextOptions stellt die Optionen bereit, die für die Extraktion von formatiertem Text verwendet werden, wie z. B. die Extraktion Mode. Ich setze den Extraktionsmodus auf das HTML, das einen Dokumenttext als HTML extrahiert.

Die Methode GetFormattedText() der Klasse Parser extrahiert einen formatierten Text aus dem angegebenen Dokument.

Extrahieren Sie formatierten Text aus Seiten mit C#

Sie können Word-Dokumente einfach parsen und formatierten Text aus einer bestimmten Seite des Dokuments extrahieren, indem Sie die folgenden einfachen Schritte ausführen:

  • Erstellen Sie eine Instanz der Klasse Parser.
  • Geben Sie den Dateipfad an
  • Prüfen Sie, ob FormattedText wahr ist
  • Rufen Sie GetDocumentInfo auf, um die Seitenzahl abzurufen
  • Prüfen Sie, ob PageCount nicht Null ist
  • FormattedTextOptions definieren
  • Legen Sie FormattedTextMode auf HTML fest
  • Rufen Sie die Methode GetFormattedText für jeden Seitenindex auf, um Text zu extrahieren
  • Rufen Sie Ergebnisse im TextReader-Klassenobjekt ab
  • Zeigen Sie Ergebnisse an, indem Sie die ReadToEnd-Methode der TextReader-Klasse aufrufen

Das folgende Codebeispiel zeigt, wie formatierter Text mit C# einzeln aus Seiten extrahiert wird.

// Erstellen Sie eine Instanz der Parser-Klasse
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // Überprüfen Sie, ob das Dokument die Extraktion von formatiertem Text unterstützt
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // Holen Sie sich die Dokumentinformationen
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // Überprüfen Sie, ob das Dokument Seiten hat
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // Über Seiten iterieren
    for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // Drucken Sie eine Seitenzahl 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // Extrahieren Sie einen formatierten Text in den Reader
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // Drucken Sie einen formatierten Text aus dem Dokument
            // Wir ignorieren die Nullprüfung, da wir zuvor die Unterstützung für die Funktion zum Extrahieren von formatiertem Text überprüft haben
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
Extrahieren Sie formatierten Text aus Seiten mit C#

Extrahieren Sie formatierten Text aus Seiten mit C#

Die Parser-Klasse stellt die Eigenschaft Features bereit, die die Klasse Features darstellt. Es kann verwendet werden, um zu prüfen, ob eine Funktion für das Dokument unterstützt wird. Weitere Informationen zu unterstützten Funktionen finden Sie im Abschnitt „Get Supported Features“.

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C# Text aus Word-Dokumenten extrahieren. Weitere Informationen zu GroupDocs.Parser for .NET API finden Sie in der Dokumentation. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch