
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
- Wyodrębnij tekst z DOCX za pomocą C#
- Uzyskaj sformatowany tekst z DOCX przy użyciu C#
- Wyodrębnij sformatowany tekst ze stron za pomocą języka C#
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#
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:
- Utwórz instancję klasy Parser.
- Określ ścieżkę pliku
- Zdefiniuj FormattedTextOptions
- Ustaw FormattedTextMode na HTML
- Wywołaj metodę GetFormattedText 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ć 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#
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:
- Utwórz instancję klasy Parser.
- Określ ścieżkę pliku
- Sprawdź, czy FormattedText ma wartość true
- Zadzwoń do GetDocumentInfo, aby sprawdzić liczbę stron
- Sprawdź, czy PageCount nie wynosi zero
- Zdefiniuj FormattedTextOptions
- Ustaw FormattedTextMode na HTML
- Wywołaj metodę GetFormattedText dla każdego indeksu strony, aby wyodrębnić tekst
- Uzyskaj wyniki w obiekcie klasy TextReader
- Pokaż wyniki wywołując metodę ReadToEnd klasy TextReader
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#
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.