Wyodrębnij tekst z DOCX

Większość danych jest reprezentowana w postaci tekstu wizualnego w dokumentach, obrazach i w Internecie, dlatego ekstrakcja danych tekstowych jest czasami najbardziej potrzebną rzeczą. Może być konieczne wyodrębnienie tekstu lub obrazów z dokumentów Word lub PDF. Jako programista C# możesz łatwo programowo wyodrębniać tekst z dokumentów. W tym artykule dowiesz się, jak wyodrębnić tekst z dokumentów DOC lub DOCX za pomocą języka C#.

W tym artykule omówiono/omówiono następujące tematy:

API języka C# do wyodrębniania tekstu

Do wyodrębnienia tekstu z dokumentów DOCX będę używać API GroupDocs.Parser for .NET. Umożliwia wyodrębnianie tekstu, metadanych i obrazów z dokumentów w obsługiwanych formatach plików, takich jak Word, PDF, Excel i Powerpoint. Obsługuje także wyodrębnianie surowego, sformatowanego i strukturalnego tekstu, a także metadanych z plików w obsługiwanych formatach.

Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

Install-Package GroupDocs.Parser

Wyodrębnij tekst z DOCX za pomocą C#

Możesz łatwo przeanalizować dowolny dokument i wyodrębnić tekst, wykonując proste kroki wymienione poniżej:

  • Utwórz instancję klasy Parser.
  • Określ ścieżkę pliku
  • Wywołaj metodę GetText klasy Parser, aby wyodrębnić tekst
  • Uzyskaj wyniki w obiekcie klasy TextReader
  • Pokaż wyniki wywołując metodę ReadToEnd klasy TextReader

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z pliku DOCX przy użyciu języka C#.

// Utwórz instancję klasy Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Wyodrębnij tekst do czytnika
using (TextReader reader = parser.GetText())
{
    // Wydrukuj tekst z dokumentu
    // Jeśli wyodrębnianie tekstu nie jest obsługiwane, czytnik ma wartość null
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
Wyodrębnij tekst z DOCX za pomocą C#

Wyodrębnij tekst z DOCX za pomocą C#

Klasa Parser jest główną klasą zapewniającą funkcjonalność analizowania i wyodrębniania tekstu i obrazów. Podałem ścieżkę pliku wejściowego w konstruktorze tej klasy.

Metoda GetText() klasy Parser wyodrębnia tekst z określonego dokumentu.

Uzyskaj sformatowany tekst z DOCX przy użyciu C#

Możesz łatwo analizować dokument programu Word i wyodrębniać tekst bez utraty formatowania stylu, wykonując proste kroki wymienione poniżej:

Poniższy przykładowy kod pokazuje, jak wyodrębnić sformatowany tekst z pliku DOCX przy użyciu języka C#.

// Utwórz instancję klasy Parser
Parser parser = new Parser(@"C:\Files\sample.docx");

// Wyodrębnij sformatowany tekst do czytnika
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // Wydrukuj sformatowany tekst z dokumentu
    // Jeśli wyodrębnianie sformatowanego tekstu nie jest obsługiwane, czytnik ma wartość null
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
Wyodrębnij sformatowany tekst z DOCX za pomocą C#

Wyodrębnij sformatowany tekst z DOCX za pomocą C#

Klasa FormattedTextOptions udostępnia opcje używane do wyodrębniania tekstu sformatowanego, takie jak wyodrębnianie Mode. Ustawiam tryb ekstrakcji na HTML, który wyodrębnia tekst dokumentu jako HTML .

Metoda GetFormattedText() klasy Parser wyodrębnia sformatowany tekst z określonego dokumentu.

Wyodrębnij sformatowany tekst ze stron za pomocą języka C#

Możesz łatwo analizować dokument programu Word i wyodrębniać sformatowany tekst z określonej strony dokumentu, wykonując proste kroki wymienione poniżej:

Poniższy przykład kodu pokazuje, jak wyodrębnić sformatowany tekst ze stron jeden po drugim przy użyciu języka C#.

// Utwórz instancję klasy Parser
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // Sprawdź, czy dokument obsługuje wyodrębnianie sformatowanego tekstu
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // Uzyskaj informacje o dokumencie
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // Sprawdź, czy dokument ma strony
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // Iteruj po stronach
   for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // Wydrukuj numer strony 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // Wyodrębnij sformatowany tekst do czytnika
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // Wydrukuj sformatowany tekst z dokumentu
            // Ignorujemy sprawdzanie wartości null, ponieważ wcześniej sprawdziliśmy obsługę funkcji wyodrębniania sformatowanego tekstu
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
Wyodrębnij sformatowany tekst ze stron za pomocą języka C#

Wyodrębnij sformatowany tekst ze stron za pomocą języka C#

Klasa Parser udostępnia właściwość Features reprezentującą klasę Features. Można go użyć do sprawdzenia, czy dana funkcja jest obsługiwana w dokumencie. Więcej informacji na temat obsługiwanych funkcji można znaleźć w sekcji „Uzyskaj obsługiwane funkcje".

Zdobądź bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się wyodrębniać tekst z dokumentów programu Word przy użyciu języka C#. Więcej informacji na temat GroupDocs.Parser for .NET API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też