Extract Text from MS Word Documents in C#

Microsoft Word-Dokumente sind ein Stapel für das Erstellen und Teilen von Textinhalt. Wenn Sie C#-Anwendungen entwickeln, die mit diesen Dokumenten interagieren, finden Sie möglicherweise, dass Sie Text von ihnen extrahieren müssen. Dies kann für Zwecke wie Textanalysen oder bestimmte Abschnitte eines Dokuments zu erheben, um in einen neuen zu sammeln. In diesem Blog-Post werden wir in die Methoden für die Text-Extraktion von Word Dokumente in C #.

Tabelle der Inhalte

C# Bibliothek für Textekstraktion

Aspose.Words für .NET ist eine starke und benutzerfreundliche Bibliothek, die für die Arbeit mit Word-Dokumenten konzipiert ist. Es bietet eine umfassende Reihe von Funktionen, einschließlich Text-Extraktion, Dokumenterstellung, Manipulation und Konvertierung. Mit Aspose.Words für .NET können Entwickler effizient verschiedene Aspekte von Word Dokumente verwalten und es zu einem wertlosen Werkzeug für Ihre Entwicklungsbedürfnisse machen.

um zu beginnen, Download der Bibliothek oder direkt von NuGet Verwenden Sie die folgenden Befehle in der Package Manager-Konsole:

PM> Install-Package Aspose.Words

Verständnis Text-Extraktion in Word-Dokumenten

Ein MS Word-Dokument enthält verschiedene Elemente wie Paragrafen, Tabellen und Bilder. Daher können die Anforderungen für Text-Extraktion auf der Grundlage des spezifischen Verwendungssatzes unterschiedlich sein. Sie müssen Text zwischen Paragrafen, Buchmarken, Kommentare und mehr extrahieren.

Jedes Element in einem Word-Dokument wird als Knoten dargestellt. Daher, um ein Dokument effektiv zu verarbeiten, müssen Sie mit diesen Knoten arbeiten. Lassen Sie uns untersuchen, wie man Text aus Word-Dokumenten in verschiedenen Szenarien extrahiert.

Step-by-Step Guide to Extract Text from a Word Document

In diesem Abschnitt implementieren wir einen C# Text-Extraktor für Word-Dokumente. Der Workflow für Text-Extraktion beinhaltet die folgenden Schritte:

  • Definieren Sie die Knoten, die in den Extraction-Prozess einbezogen werden sollen.
  • Entfernen Sie die Inhalte zwischen den angegebenen Knoten (einschließlich oder ausschließen Sie die Start- und Endknoten).
  • Verwenden Sie die klonierten extrahierten Knoten, um ein neues Word-Dokument zu erstellen, das die extrahierten Inhalte enthält.

Wir erstellen eine Methode namens ExtractContent, die Knoten und andere Parameter akzeptiert, um die Text-Extraktion durchzuführen:

  • StartNode und EndNode: Diese definieren die Anfangs- und Endpunkte für die Inhaltsektraktion. Sie können Block-Level (z.B. Paragraf, Tabelle) oder Inline-Level-Noten (z.B. Run, FieldStart, BookmarkStart) sein).- Für Felder geben Sie den entsprechenden FieldStart Objekt ein.

  • Für Buchmarken verwenden Sie die Knoten BookmarkStart und BookmarkEnd.

  • Für Kommentare verwenden Sie die Noten CommentRangeStart und CommentRangeEnd.

  • IsInclusive: Dieser Parameter bestimmt, ob die Markierungen in die Extraction enthalten sind.Wenn auf falsch eingestellt und die gleichen oder verfolgenden Knoten bereitgestellt werden, wird eine leere Liste zurückgegeben.

Hier ist die vollständige Implementierung der ExtractContent Methode, um Inhalte zwischen den angegebenen Knoten zu extrahieren:

Darüber hinaus sind einige Hilfermethoden durch die ExtractContent-Methode erforderlich, um die Text-Extraktion zu erleichtern:

Nachdem wir unsere Methoden vorbereitet haben, können wir weiterhin Text aus einem Word-Dokument extrahieren.

Text zwischen Paragrafen eines Wörterdokuments {#Extrakt-Text zwischen Paragrafen}

Um Inhalte zwischen zwei Absätzen in einem Word DOCX-Dokument zu extrahieren, folgen Sie diesen Schritten:

  • Laden Sie das Word-Dokument mit der Klasse Dokument herunter.
  • Erhalten Sie Referenzen zu den Anfangs- und Abschlussabschnellen mit der Methode Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean.
  • Rufen Sie die ExtractContent(startPara, endPara, True) Methode an, um die Knoten in ein Objekt zu extrahieren.
  • Verwenden Sie die GenerateDocument(Document, extractedNodes)-Hilfermethode, um ein Dokument mit dem extrahierten Inhalt zu erstellen.
  • Speichern Sie das neue Dokument mit der Methode Document.Save(string.

Hier ist ein Code-Sample, das zeigt, wie man Text zwischen den Absätzen 7 und 11 in einem Word-Dokument extrahiert:

Text zwischen verschiedenen Arten von Noten

Sie können auch Inhalte zwischen verschiedenen Arten von Knoten extrahieren. Zum Beispiel extrahieren wir Inhalte zwischen einem Absatz und einer Tabelle und speichern sie in ein neues Word-Dokument:

  • Laden Sie das Word-Dokument mit der Klasse Dokument herunter.
  • Erhalten Sie Referenzen zu den Start- und Endknoten mit der Methode Document.FirstSection.Body.GetChild(NodeType, int, boolean.
  • Anrufen Sie ExtractContent(startPara, endPara, True), um die Knoten in ein Objekt zu extrahieren.
  • Verwenden Sie die GenerateDocument(Document, extractedNodes)-Hilfermethode, um ein Dokument mit dem extrahierten Inhalt zu erstellen.
  • Speichern Sie das neue Dokument mit Document.Save(string).

Hier ist der Code-Sample für die Text-Extraktion zwischen einem Absatz und einer Tabelle in C#:

Text extrahieren basierend auf Stilen

Um Inhalte zwischen Absätzen auf der Grundlage von Stilen zu extrahieren, folgen Sie diesen Schritten. Für diese Demonstration extrahieren wir Inhalte zwischen dem ersten “Titel 1” und dem ersten “Titel 3” im Word-Dokument:

  • Laden Sie das Word-Dokument mit der Klasse Dokument herunter.
  • Entfernen Sie Abschnitte in ein Objekt mit der Hilfermethode ParagraphsByStyleName(Dokument, “Heading 1.
  • Entfernen Sie Paragraphs in ein anderes Objekt mit ParagraphsByStyleName(Dokument, “Heading 3”).
  • Anrufen Sie ExtractContent(startPara, endPara, True) mit den ersten Elemente aus beiden Absätzen.
  • Verwenden Sie die GenerateDocument(Document, extractedNodes)-Hilfermethode, um ein Dokument mit dem extrahierten Inhalt zu erstellen.
  • Speichern Sie das neue Dokument mit Document.Save(string).

Hier ist ein Code-Sample, um Inhalte zwischen Absätzen auf der Grundlage von Stilen zu extrahieren:

Lesen Sie mehr über Text Extraction

Erforschen Sie weitere Szenarien, um Text aus Word-Dokumenten zu extrahieren Dieser Dokumentationsartikel.

Erhalten Sie eine kostenlose Word Text Extractor Library

Sie können eine Kostenlose vorübergehende Lizenz Text ohne Einschränkungen auswerten.

Schlussfolgerungen

Aspose.Words für .NET ist eine vielseitige Bibliothek, die den Prozess der Text-Extraktion aus Word-Dokumenten in C# vereinfacht. Mit seinen umfangreichen Funktionen und benutzerfreundlichen API können Sie effektiv mit Word-Dokumenten arbeiten und verschiedene Text-Extraktionsszenarien automatisieren. Ob Sie Anwendungen entwickeln, die Word-Dokumentverarbeitung oder einfach Text-Extraktion erfordern, Aspose.Words für .NET ist ein wesentlicher Werkzeug für Entwickler.

Um weitere Funktionen von Aspose.Words für .NET zu erkunden, überprüfen Sie die Dokumentation. Wenn Sie Fragen haben, fühlen Sie sich frei, über unsere Forum.

Sehen Sie auch

Tip: Sie möchten möglicherweise die Aspose überprüfen PowerPoint zum Wort Converter, der den beliebten Prozess der Konvertierung von Präsentationen in Word-Dokumente zeigt.

More in this category