Mit IronWord Text aus DOCX extrahieren

This article was translated from English: Does it need improvement?
Translated
View the article in English

Mit der Methode ExtractText() von IronWord können Sie Text aus DOCX-Dateien extrahieren, indem Sie auf ganze Dokumente, bestimmte Absätze oder Tabellenzellen zugreifen und so eine einfache API für die Dokumentenverarbeitung und Datenanalyse in C# bereitstellen.

als-Überschrift:2(Schnellstart: Text aus DOCX extrahieren)

  1. Installieren Sie das IronWord NuGet-Paket: Install-Package IronWord
  2. Erstellen oder laden Sie ein WordDocument: WordDocument doc = new WordDocument("document.docx");
  3. Extrahieren Sie den gesamten Text: string text = doc.ExtractText();
  4. Auszug aus einem bestimmten Absatz: string para = doc.Paragraphs[0].ExtractText();
  5. Auszug aus einer Tabellenzelle: string cell = doc.Tables[0].Rows[0].Cells[0].ExtractText();

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronWord mit dem NuGet-Paketmanager.

    PM > Install-Package IronWord

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    using IronWord;
    
    // Quick example: Extract all text from DOCX
    WordDocument doc = new WordDocument("sample.docx");
    string allText = doc.ExtractText();
    Console.WriteLine(allText);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronWord in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Die Extraktion von Text aus DOCX-Dateien ist eine häufige Anforderung für die Dokumentenverarbeitung und Datenanalyse. IronWord bietet eine unkomplizierte Möglichkeit, Textinhalte aus bestehenden DOCX-Dateien zu lesen und zu extrahieren, sodass Sie programmatisch auf Absätze, Tabellen und andere Textelemente zugreifen können.

Dieses Tutorial behandelt die Methode ExtractText() im Detail und zeigt, wie man auf Text aus verschiedenen Dokumentenelementen zugreifen kann. Unabhängig davon, ob Sie ein System zur Indizierung von Dokumenten, eine Lösung zur Verwaltung von Inhalten oder eine Pipeline zur Datenextraktion entwickeln, ist das Verständnis für die effiziente Extraktion von Text aus Word-Dokumenten unerlässlich.

Erste Schritte mit IronWord

Nutzen Sie IronWord heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer


Wie kann ich den gesamten Text aus einem DOCX-Dokument extrahieren?

Die Methode ExtractText() ruft den Textinhalt eines ganzen Word-Dokuments ab. In diesem Beispiel erstellen wir ein neues Dokument, fügen Text hinzu, extrahieren den Text mit ExtractText() und zeigen ihn in der Konsole an. Dies veranschaulicht den primären Arbeitsablauf zur Textextraktion.

Der extrahierte Text muss die logische Lesereihenfolge des Dokuments beibehalten. Die Methode verarbeitet Kopfzeilen, Absätze, Listen und andere Textelemente nacheinander, was sie ideal für die Inhaltsanalyse und Suchindexierung macht.

:path=/static-assets/word/content-code-examples/how-to/extract-text-simple.cs
using IronWord;

// Instantiate a new DOCX file
WordDocument doc = new WordDocument();

// Add text
doc.AddText("Hello, World!");

// Print extracted text from the document to the console
Console.WriteLine(doc.ExtractText());
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie sieht der extrahierte Text aus?

Microsoft Word-Dokument, das den Text 'Hello, World!' mit sichtbarem Formatierungsband anzeigt

Welche Ausgabe sollte ich in der Konsole erwarten?

Codebeispiel, das zeigt, wie Console.WriteLine den extrahierten Text ausgibt, wobei die Debug-Konsole die Ausgabe 'Hello, World!' anzeigt

Wie kann ich Text aus bestimmten Absätzen extrahieren?

Für eine bessere Kontrolle können Sie Text aus bestimmten Absätzen anstatt aus dem gesamten Dokument extrahieren. Durch den Zugriff auf die Paragraphs können Sie jeden benötigten Absatz gezielt auswählen und bearbeiten. Dieser granulare Ansatz ist nützlich, wenn es sich um Dokumente mit strukturiertem Inhalt handelt oder wenn Sie bestimmte Abschnitte unabhängig voneinander bearbeiten müssen.

In diesem Beispiel extrahieren wir Text aus dem ersten und letzten Absatz, kombinieren ihn und speichern das Ergebnis in einer .txt-Datei. Diese Technik wird häufig in Tools zur Zusammenfassung von Dokumenten verwendet, wenn Sie die Einleitung und den Schluss eines Dokuments extrahieren möchten. Ähnlich wie Sie Lizenzschlüssel verwenden können, um Funktionen freizuschalten, gibt Ihnen die Paragraphen-Sammlung Zugriff auf bestimmte Dokumentelemente.

:path=/static-assets/word/content-code-examples/how-to/extract-text-paragraphs.cs
using IronWord;
using System.IO;

// Load an existing DOCX file
WordDocument doc = new WordDocument("document.docx");

// Extract text and assign variables
string firstParagraph = doc.Paragraphs[0].ExtractText();
string lastParagraph = doc.Paragraphs.Last().ExtractText();

// Combine the texts
string newText = firstParagraph + " " + lastParagraph;

// Export the combined text as a new .txt file
File.WriteAllText("output.txt", newText);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Die Fähigkeit, bestimmte Absätze zu extrahieren, wird in Verbindung mit den Anforderungen an die Dokumentenanalyse zu einem wichtigen Faktor. Sie könnten zum Beispiel wichtige Absätze anhand ihrer Formatierung, Position oder inhaltlichen Muster extrahieren. Dieser selektive Extraktionsansatz trägt dazu bei, die Bearbeitungszeit zu verkürzen und sich auf die relevantesten Inhalte zu konzentrieren.

Welcher Inhalt wird aus dem ersten Absatz extrahiert?

Word-Dokument mit rot formatiertem Absatz über schwarzem Textabsatz zur Demonstration der Extraktion

Welcher Inhalt wird aus dem letzten Absatz extrahiert?

Microsoft Word Dokument mit formatierten Absätzen mit Lorem ipsum Text in lila und blauen Farben

Wie wird der kombinierte Text in der Ausgabedatei angezeigt?

Im Texteditor sind die Absatzextraktionspunkte mit roten und blauen Pfeilen markiert, die die Absatzgrenzen anzeigen

Die Screenshots oben zeigen die Extraktion des ersten Absatzes, die Extraktion des letzten Absatzes und die kombinierte Ausgabe, die in einer Textdatei gespeichert wird. Beachten Sie, dass bei der Extraktion der Textinhalt erhalten bleibt, während die Formatierungsinformationen entfernt werden, so dass der Text für die reine Textverarbeitung geeignet ist.

Wie extrahiere ich Daten aus Tabellen in DOCX?

Tabellen enthalten oft strukturierte Daten, die zur Weiterverarbeitung oder Analyse extrahiert werden müssen. Mit IronWord können Sie auf Tabellendaten zugreifen, indem Sie durch Zeilen und Zellen navigieren. In diesem Beispiel laden wir ein Dokument, das eine API-Statistiktabelle enthält, und extrahieren einen bestimmten Zellenwert aus der 4. Spalte der 2. Zeile.

Die Extraktion von Tabellen ist für Datenmigrationsprojekte, die Erstellung von Berichten und automatisierte Datenerfassungsworkflows unerlässlich. Bei der Arbeit mit tabellarischen Daten ist das Verständnis des nullbasierten Indizierungssystems entscheidend - die erste Tabelle ist Tables[0], die erste Zeile ist Rows[0] und so weiter. Dieser systematische Ansatz, ähnlich den Lizenzierungsstrukturen, bietet vorhersehbare Zugriffsmuster.

:path=/static-assets/word/content-code-examples/how-to/extract-text-table.cs
using IronWord;

// Load the API statistics document
WordDocument apiStatsDoc = new WordDocument("api-statistics.docx");

// Extract text from the 1st table, 4th column and 2nd row
string extractedValue = apiStatsDoc.Tables[0].Rows[2].Cells[3].ExtractText();

// Print extracted value
Console.WriteLine($"Target success rate: {extractedValue}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie sieht die Quelltabelle aus?

Tabelle mit API-Nutzungsstatistiken in Word, die 6 Endpunkte mit Anfragen, Latenz, Erfolgsraten und Bandbreitenmetriken zeigt

Welcher Wert wird aus der Tabellenzelle entnommen?

Konsolenausgabe, die den extrahierten Tabellenwert 'Target success rate: 99.8%' in der Visual Studio Debug-Konsole

Fortgeschrittene Text-Extraktions-Szenarien

Wenn Sie mit komplexen Dokumenten arbeiten, müssen Sie möglicherweise mehrere Extraktionstechniken kombinieren. Hier ist ein Beispiel, das zeigt, wie man Text aus mehreren Elementen extrahiert und sie unterschiedlich verarbeitet:

using IronWord;
using System.Text;
using System.Linq;

// Load a complex document
WordDocument complexDoc = new WordDocument("report.docx");

// Create a StringBuilder for efficient string concatenation
StringBuilder extractedContent = new StringBuilder();

// Extract and process headers (assuming they're in the first few paragraphs)
var headers = complexDoc.Paragraphs
    .Take(3)
    .Select(p => p.ExtractText())
    .Where(text => !string.IsNullOrWhiteSpace(text));

foreach (var header in headers)
{
    extractedContent.AppendLine($"HEADER: {header}");
}

// Extract table summaries
foreach (var table in complexDoc.Tables)
{
    // Get first cell as table header/identifier
    string tableIdentifier = table.Rows[0].Cells[0].ExtractText();
    extractedContent.AppendLine($"\nTABLE: {tableIdentifier}");

    // Extract key metrics (last row often contains totals)
    if (table.Rows.Count > 1)
    {
        var lastRow = table.Rows.Last();
        var totals = lastRow.Cells.Select(cell => cell.ExtractText());
        extractedContent.AppendLine($"Totals: {string.Join(", ", totals)}");
    }
}

// Save the structured extraction
System.IO.File.WriteAllText("structured-extract.txt", extractedContent.ToString());
using IronWord;
using System.Text;
using System.Linq;

// Load a complex document
WordDocument complexDoc = new WordDocument("report.docx");

// Create a StringBuilder for efficient string concatenation
StringBuilder extractedContent = new StringBuilder();

// Extract and process headers (assuming they're in the first few paragraphs)
var headers = complexDoc.Paragraphs
    .Take(3)
    .Select(p => p.ExtractText())
    .Where(text => !string.IsNullOrWhiteSpace(text));

foreach (var header in headers)
{
    extractedContent.AppendLine($"HEADER: {header}");
}

// Extract table summaries
foreach (var table in complexDoc.Tables)
{
    // Get first cell as table header/identifier
    string tableIdentifier = table.Rows[0].Cells[0].ExtractText();
    extractedContent.AppendLine($"\nTABLE: {tableIdentifier}");

    // Extract key metrics (last row often contains totals)
    if (table.Rows.Count > 1)
    {
        var lastRow = table.Rows.Last();
        var totals = lastRow.Cells.Select(cell => cell.ExtractText());
        extractedContent.AppendLine($"Totals: {string.Join(", ", totals)}");
    }
}

// Save the structured extraction
System.IO.File.WriteAllText("structured-extract.txt", extractedContent.ToString());
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieses fortgeschrittene Beispiel zeigt, wie strukturierte Extraktionen durch die Kombination verschiedener Dokumentelemente erstellt werden können. Dieser Ansatz ist nützlich für die Erstellung von Dokumentzusammenfassungen, die Erstellung von Indizes oder die Vorbereitung von Daten für die weitere Verarbeitung. Genauso wie Upgrades die Fähigkeiten von Software verbessern, verbessert die Kombination von Extraktionsmethoden Ihre Fähigkeiten zur Dokumentenverarbeitung.

Best Practices für die Textextraktion

Beachten Sie bei der Implementierung der Textextraktion in Produktionsanwendungen die folgenden Best Practices:

  1. Fehlerbehandlung: Verpacken Sie Extraktionscode immer in try-catch-Blöcke, um Dokumente zu behandeln, die beschädigt sein könnten oder unerwartete Strukturen aufweisen.

  2. Leistungsoptimierung: Bei großen Dokumenten oder bei der Stapelverarbeitung sollten Sie in Erwägung ziehen, nur die notwendigen Teile zu extrahieren und nicht den gesamten Dokumentinhalt.

  3. Zeichenkodierung: Achten Sie beim Speichern des extrahierten Textes auf die Zeichenkodierung, insbesondere bei Dokumenten, die Sonderzeichen oder mehrere Sprachen enthalten.

  4. Speichermanagement: Bei der Verarbeitung mehrerer Dokumente müssen WordDocument-Objekte ordnungsgemäß entsorgt werden, um Speicherlecks zu vermeiden.

Denken Sie daran, dass bei der Textextraktion die logische Lesereihenfolge erhalten bleibt, aber die Formatierung entfernt wird. Wenn Sie Formatierungsinformationen beibehalten müssen, sollten Sie zusätzliche IronWord-Funktionen verwenden oder Metadaten separat speichern. Für den produktiven Einsatz sollten Sie das Changelog lesen, um über die neuesten Funktionen und Verbesserungen informiert zu sein.

Zusammenfassung

Die Methode ExtractText() von IronWord bietet eine leistungsstarke und flexible Möglichkeit, Text aus DOCX-Dateien zu extrahieren. Ganz gleich, ob Sie ganze Dokumente, bestimmte Absätze oder Tabellendaten extrahieren müssen, die API bietet unkomplizierte Methoden, um Ihre Ziele zu erreichen. Durch die Kombination dieser Techniken mit der richtigen Fehlerbehandlung und Optimierungsstrategien können Sie robuste Dokumentenverarbeitungsanwendungen erstellen, die verschiedene Textextraktionsszenarien effizient bewältigen.

Für fortgeschrittenere Szenarien und zur Erkundung zusätzlicher Funktionen finden Sie Erweiterungen und andere Dokumentationsressourcen zur Erweiterung Ihrer Dokumentverarbeitungsmöglichkeiten.

Häufig gestellte Fragen

Wie kann ich in C# den gesamten Text aus einem Word-Dokument extrahieren?

Verwenden Sie die ExtractText()-Methode von IronWord für ein WordDocument-Objekt. Laden Sie einfach Ihre DOCX-Datei mit WordDocument doc = new WordDocument("document.docx"); und rufen Sie dann string text = doc.ExtractText(); auf, um den gesamten Textinhalt aus dem Dokument zu erhalten.

Kann ich Text aus bestimmten Absätzen statt aus dem gesamten Dokument extrahieren?

Ja, IronWord ermöglicht es Ihnen, Text aus bestimmten Absätzen zu extrahieren, indem Sie auf die Paragraphs-Sammlung zugreifen. Verwenden Sie doc.Paragraphs[index].ExtractText(), um einzelne Absätze für eine detailliertere Textextraktion auszuwählen.

Wie kann ich Text aus Tabellen in DOCX-Dateien extrahieren?

IronWord ermöglicht die Extraktion von Tabellentext über die Tables-Sammlung. Greifen Sie auf bestimmte Zellen zu, indem Sie doc.Tables[0].Rows[0].Cells[0].ExtractText() verwenden, um Textinhalte aus jeder Tabellenzelle in Ihrem Dokument abzurufen.

Welcher Reihenfolge folgt der extrahierte Text bei der Verwendung von ExtractText()?

Die ExtractText()-Methode von IronWord behält die logische Lesereihenfolge des Dokuments bei und verarbeitet Kopfzeilen, Absätze, Listen und andere Textelemente der Reihe nach, was sie ideal für die Inhaltsanalyse und die Suchindexierung macht.

Was sind die grundlegenden Schritte, um mit der Extraktion von Text aus DOCX-Dateien zu beginnen?

Installieren Sie IronWord zunächst über NuGet (Install-Package IronWord), erstellen oder laden Sie dann ein WordDocument, und verwenden Sie schließlich die Methode ExtractText(), um Text aus dem gesamten Dokument, bestimmten Absätzen oder Tabellenzellen abzurufen.

Eignet sich die Textextraktion für den Aufbau von Dokumentenindizierungssystemen?

Ja, die Textextraktionsfunktionen von IronWord eignen sich perfekt für den Aufbau von Dokumentenindizierungssystemen, Content-Management-Lösungen und Datenextraktionspipelines, die einen effizienten programmatischen Zugriff auf den Inhalt von Word-Dokumenten ermöglichen.

Ahmad Sohail
Full-Stack-Entwickler

Ahmad ist ein Full-Stack-Entwickler mit einer soliden Grundlage in C#, Python und Webtechnologien. Er hat ein großes Interesse am Aufbau skalierbarer Softwarelösungen und genießt es, zu erkunden, wie Design und Funktionalität in realen Anwendungen aufeinandertreffen.

Bevor er dem Iron Software Team beitrat, arbeitete ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 28,054 | Version: 2025.12 gerade veröffentlicht