Wyodrębnij tekst z dokumentów MS Word w C#

Dokumenty Microsoft Word są podstawowym narzędziem do tworzenia i udostępniania treści tekstowych. Jeśli rozwijasz aplikacje C# interaktywne z dokumentami Word, możesz potrzebować wyodrębnić tekst z dokumentów Word za pomocą C# w ASP.NET, zapewniając jednocześnie zachowanie formatowania. Niezależnie od tego, czy analizujesz tekst, wyodrębniasz konkretne sekcje, czy łączysz treści w jeden dokument, ten przewodnik pokaże Ci, jak efektywnie wyodrębnić tekst z dokumentów Word, korzystając z najlepszej biblioteki C# do wyodrębniania tekstu z dokumentów Word.

Spis treści

Biblioteka C# do wyodrębniania tekstu z dokumentów Word

Aspose.Words for .NET to bogata w funkcje, łatwa w użyciu biblioteka zaprojektowana do pracy z dokumentami Word. Oferuje kompleksowy zestaw funkcjonalności, w tym wyodrębnianie tekstu z dokumentów Word w .NET, tworzenie, manipulację i konwersję dokumentów. Aspose.Words for .NET to nieocenione narzędzie dla programistów poszukujących wydajnego wyodrębniania tekstu z dokumentów Word w C#.

Możesz pobrać DLL lub zainstalować bibliotekę bezpośrednio z NuGet za pomocą konsoli menedżera pakietów:

PM> Install-Package Aspose.Words

Zrozumienie wyodrębniania tekstu w dokumentach Word

Dokument MS Word składa się z różnych elementów, takich jak akapity, tabele i obrazy. W związku z tym wymagania dotyczące wyodrębniania tekstu mogą się różnić w zależności od sytuacji. Na przykład, możesz potrzebować wyodrębnić tekst z zeskanowanego dokumentu Word w C# lub wyodrębnić tekst z pliku Word za pomocą C# .NET. Każdy element w dokumencie Word jest reprezentowany jako węzeł, z którym będziesz się komunikować podczas procesu wyodrębniania. Przyjrzyjmy się, jak wyodrębnić tekst z dokumentów Word, skutecznie obsługując formatowanie tekstu podczas wyodrębniania w C#.

Wyodrębnianie tekstu z dokumentu Word

W tej sekcji zaimplementujemy wyodrębnianie tekstu w C# dla dokumentów Word. Proces wyodrębniania tekstu obejmuje:

  1. Zdefiniowanie węzłów do uwzględnienia w procesie wyodrębniania tekstu.
  2. Wyodrębnienie treści między określonymi węzłami (w tym węzłami początkowymi i końcowymi).
  3. Klonowanie wyodrębnionych węzłów w celu utworzenia nowego dokumentu Word zawierającego wyodrębnioną treść.

Stwórzmy metodę o nazwie ExtractContent, która przyjmie węzły i inne parametry do wyodrębniania tekstu. Ta metoda przeanalizuje dokument i sklonuje węzły. Oto parametry, które przekażemy do metody:

  1. StartNode i EndNode służą jako punkty początkowe i końcowe dla wyodrębniania treści. Mogą to być węzły na poziomie bloku (np. Akapit, Tabela) lub węzły na poziomie wiersza (np. Run, FieldStart, BookmarkStart itd.).
    • Dla pól przekaż odpowiedni obiekt FieldStart.
    • Dla zakładek użyj węzłów BookmarkStart i BookmarkEnd.
    • Dla komentarzy wykorzystaj węzły CommentRangeStart i CommentRangeEnd.
  2. IsInclusive określa, czy znaczniki są uwzględnione w wyodrębnieniu. Jeśli ustawiono na fałsz, a te same lub sąsiednie węzły są przekazywane, zwrócona zostanie pusta lista.

Pełna implementacja metody ExtractContent, która dokładnie wyodrębnia tekst z chronionych dokumentów Word w C#, wygląda następująco:

Dodatkowo, niektóre metody pomocnicze są wymagane przez metodę ExtractContent, aby ułatwić operację wyodrębniania tekstu:

Teraz jesteśmy gotowi do wykorzystania tych metod i wyodrębnienia tekstu z dokumentów Word za pomocą C#.

Wyodrębnianie tekstu między akapitami dokumentu Word

Aby wyodrębnić treść między dwoma akapitami w dokumencie Word DOCX, wykonaj następujące kroki:

  1. Załaduj dokument Word za pomocą klasy Document.
  2. Odwołaj się do akapitów początkowego i końcowego za pomocą metody Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
  3. Wywołaj metodę ExtractContent(startPara, endPara, true), aby wyodrębnić węzły do obiektu.
  4. Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument zawierający wyodrębnioną treść.
  5. Na koniec zapisz zwrócony dokument za pomocą metody Document.Save(string).

Oto przykład kodu, który demonstruje, jak wyodrębnić tekst z dużych plików Word, wyodrębniając treść między 7. a 11. akapitem:

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

Możesz również wyodrębnić treść między różnymi typami węzłów. Na przykład, wyodrębnijmy treść między akapitem a tabelą i zapiszmy ją w nowym dokumencie Word. Wykonaj następujące kroki:

  1. Załaduj dokument Word za pomocą klasy Document.
  2. Odwołaj się do węzłów początkowego i końcowego za pomocą metody Document.FirstSection.Body.GetChild(NodeType, int, boolean).
  3. Wywołaj metodę ExtractContent(startPara, endPara, true), aby wyodrębnić węzły do obiektu.
  4. Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument zawierający wyodrębnioną treść.
  5. Zapisz zwrócony dokument za pomocą metody Document.Save(string).

Oto przykład kodu ilustrujący, jak wyodrębnić tekst między akapitem a tabelą w C#:

Wyodrębnianie tekstu między akapitami na podstawie stylów

Teraz przyjrzyjmy się, jak wyodrębnić treść między akapitami na podstawie stylów. W tym przykładzie wyodrębnimy treść między pierwszym “Nagłówkiem 1” a pierwszym “Nagłówkiem 3” w dokumencie Word. Wykonaj następujące kroki:

  1. Załaduj dokument Word za pomocą klasy Document.
  2. Wyodrębnij akapity do obiektu za pomocą metody pomocniczej ParagraphsByStyleName(Document, “Heading 1”).
  3. Wyodrębnij akapity do innego obiektu za pomocą metody pomocniczej ParagraphsByStyleName(Document, “Heading 3”).
  4. Wywołaj metodę ExtractContent(startPara, endPara, true), przekazując pierwsze elementy w obu tablicach akapitów jako parametry.
  5. Użyj metody pomocniczej GenerateDocument(Document, extractedNodes), aby utworzyć dokument zawierający wyodrębnioną treść.
  6. Na koniec zapisz zwrócony dokument za pomocą metody Document.Save(string).

Oto przykład kodu demonstrujący, jak wyodrębnić treść między akapitami na podstawie stylów:

Dowiedz się więcej o wyodrębnianiu tekstu

Odkryj inne scenariusze API .NET do wyodrębniania tekstu z dokumentów Word w tym artykule dokumentacyjnym.

Uzyskaj darmową bibliotekę do wyodrębniania tekstu z Word

Możesz uzyskać darmową tymczasową licencję, aby wyodrębnić tekst bez ograniczeń oceny.

Podsumowanie

Aspose.Words for .NET to wszechstronna biblioteka, która upraszcza proces wyodrębniania tekstu z Word w C# przy zachowaniu formatowania. Dzięki szerokim funkcjom i przyjaznemu interfejsowi API, możesz efektywnie pracować z dokumentami Word i automatyzować różne scenariusze związane z obsługą znaków specjalnych podczas wyodrębniania tekstu z Word w C#. Niezależnie od tego, czy rozwijasz aplikacje, które muszą przetwarzać dokumenty Word, czy po prostu wyodrębniasz tekst, Aspose.Words for .NET to cenne narzędzie dla programistów.

Odkryj dodatkowe funkcje Aspose.Words for .NET w dokumentacji. Jeśli masz pytania, nie wahaj się skontaktować z nami za pośrednictwem naszego forum.

Zobacz także

Wskazówka: Możesz również chcieć sprawdzić konwerter Aspose PowerPoint do Word, który demonstruje popularny proces konwersji prezentacji na dokument Word.