Extract Text from MS Word Documents in C#

Dokumenty programu Microsoft Word są elementem tworzenia i udostępniania treści tekstowych. Jeśli opracowujesz aplikacje C#, które interakcji z tymi dokumentami, możesz znaleźć potrzebę wyciągania tekstu z nich. To może być do celów takich jak analiza tekstu lub wyciągnięcie określonych sekcji dokumentu do gromadzenia w nowy.

Tabela zawartości

C# Biblioteka do ekstrakcji tekstów

Aspose.Words dla .NET Jest to potężna i przyjazna dla użytkownika biblioteka zaprojektowana do pracy z dokumentami Word. Zapewnia kompleksowy zestaw funkcji, w tym ekstrakcji tekstu, tworzenia dokumentów, manipulacji i konwersji. z Aspose.Words dla .NET, deweloperzy mogą skutecznie zarządzać różnymi aspektami dokumentu Word, co czyni go nieocenionym narzędziem do potrzeb rozwoju.

Aby zacząć, Pobierz bibliotekę lub zainstalować go bezpośrednio z NuGet Użyj następującego polecenia w konsoli zarządzania pakietami:

PM> Install-Package Aspose.Words

Zrozumienie ekstrakcji tekstu w dokumentach Word

Dokument MS Word zawiera różne elementy, takie jak paragrafy, tabele i obrazy. W związku z tym wymagania dotyczące ekstrakcji tekstu mogą się różnić w zależności od konkretnego przypadku użycia.

Każdy element w dokumencie Word jest reprezentowany jako przycisk. Dlatego, aby skutecznie przetwarzać dokument, będziesz musiał pracować z tymi przyciskami.

Krok po kroku Przewodnik do ekstrakcji tekstu z dokumentu Word

W tej sekcji wdrażamy ekstraktor tekstu C# dla dokumentów Word. Przepływ pracy dla ekstrakcji tekstu obejmuje następujące kroki:

  • Określenie węzłów do uwzględnienia w procesie ekstrakcji.
  • Wyciągnij zawartość między określonymi węzły (w tym lub wykluczając węzły początkowe i końcowe).
  • Użyj klonowanych wyciągniętych węzłów, aby utworzyć nowy dokument Word zawierający wyciągnięte treści.

Stwórzmy metodę o nazwie ExtractContent, która przyjmie węzły i inne parametry do wykonania ekstrakcji tekstu.

  • StartNode i EndNode: To określa punkty początkowe i końcowe dla ekstrakcji treści. Mogą one być poziomy bloków (np. Paragraf, Tabela) lub węzły poziomu inline (np. Run, FieldStart, BookmarkStart).- W przypadku pól przejdź do odpowiedniego obiektu FieldStart.

  • W przypadku znaków książkowych należy użyć przycisków BookmarkStart i BookmarkEnd.

  • Aby uzyskać komentarze, użyj przycisków CommentRangeStart i CommentRangeEnd.

  • IsInclusive: Ten parametr określa, czy markery są włączone do ekstrakcji.Jeśli ustawione są na fałszywe i dostarczane są te same lub kolejne węzły, zostanie zwrócona pusta lista.

Oto pełna implementacja metody ExtractContent do ekstrakcji zawartości między określonymi węzły:

Dodatkowo niektóre metody pomocnicze są wymagane przez metodę ExtractContent w celu ułatwienia procesu ekstrakcji tekstu:

Teraz, gdy nasze metody są gotowe, możemy kontynuować ekstrakcję tekstu z dokumentu Word.

Ekstrakcja tekstu między ustępami dokumentu słownego {#ekstrakcja tekstu między ustępami}

Aby wyciągnąć treść pomiędzy dwoma ustępami w dokumencie Word DOCX, postępuj zgodnie z następującymi krokami:

  • Pobierz dokument Word za pomocą klasy Dokument.
  • Zdobądź odniesienia do ustępów początkowych i końcowych za pomocą metody Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
  • Zadzwoń do metody ExtractContent(startPara, endPara, True), aby wyciągnąć węzły do obiektu.
  • Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument z wyciągniętym treścią.
  • Zapisz nowy dokument za pomocą metody Document.Save(string).

Oto próbka kodu, która pokazuje, jak wyciągnąć tekst między paragrafami 7 i 11 w dokumencie Word:

Ekstrakcja tekstu między różnymi typami węzłów

Możesz również wyodrębnić zawartość między różnymi rodzajami węzłów. Na przykład, wyodrębnij zawartość między paragrafem a tabelą i przechowuj ją w nowym dokumencie Word.

  • Pobierz dokument Word za pomocą klasy Dokument.
  • Zdobądź odniesienia do węzłów początkowych i końcowych za pomocą metody Document.FirstSection.Body.GetChild(NodeType, int, boolean).
  • Zadzwoń ExtractContent(startPara, endPara, True), aby wyciągnąć węzły do obiektu.
  • Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument z wyciągniętym treścią.
  • Zapisz nowy dokument za pomocą Document.Save(string).

Oto próbka kodu do ekstrakcji tekstu między paragrafem a tabelą w C#:

Ekstrakcja tekstu na podstawie stylów

Aby wyodrębnić zawartość między ustępami w oparciu o style, postępuj zgodnie z następującymi krokami. Dla tej demonstracji wyodrębniamy zawartość między pierwszym “Titlem 1” a pierwszym “Titlem 3” w dokumencie Word:

  • Pobierz dokument Word za pomocą klasy Dokument.
  • Wyciągnij paragrafy do obiektu za pomocą metody pomocniczej ParagraphsByStyleName(Dokument, “Główek 1”).
  • Wyciągnij paragrafy do innego obiektu za pomocą ParagraphsByStyleName(Dokument, “Nazwa”).
  • Zadzwoń ExtractContent(startPara, endPara, True) z pierwszymi elementami z obu fragmentów.
  • Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument z wyciągniętym treścią.
  • Zapisz nowy dokument za pomocą Document.Save(string).

Oto próbka kodu do ekstrakcji zawartości między ustępami na podstawie stylów:

Czytaj więcej o ekstrakcji tekstów

Odkryj dodatkowe scenariusze do ekstrakcji tekstu z dokumentów programu Word poprzez Ten artykuł dokumentacyjny.

Zdobądź darmową bibliotekę ekstraktorów tekstowych

Możesz uzyskać A Darmowe licencje tymczasowe Wyciągnąć tekst bez ograniczeń oceny.

konkluzja

Aspose.Words dla .NET to wszechstronna biblioteka, która upraszcza proces ekstrakcji tekstu z dokumentów Word w C#. Dzięki szerokim funkcjom i przyjaznym dla użytkownika API, można efektywnie pracować z dokumentami Word i automatyzować różne scenariusze ekstrakcji tekstu. Niezależnie od tego, czy rozwijają się aplikacje wymagające przetwarzania dokumentów Word, czy po prostu ekstrakcji tekstu, Aspose.Words dla .NET jest niezbędnym narzędziem dla deweloperów.

Aby dowiedzieć się więcej o funkcjach Aspose.Words dla .NET, sprawdź dokumentacjaJeśli masz jakiekolwiek pytania, czuj się wolny do uzyskania przez nas Forum.

Zobacz również

Typ: Możesz sprawdzić Aspose PowerPoint do słów Konwerter, który pokazuje popularny proces konwersji prezentacji do dokumentów Word.

More in this category