DOCX에서 텍스트 추출

대부분의 데이터는 문서, 이미지 및 웹에서 시각적 텍스트로 표현되므로 텍스트 데이터 추출이 가장 필요한 경우가 있습니다. Word 또는 PDF 문서에서 텍스트나 이미지를 추출해야 할 수도 있습니다. C# 개발자는 프로그래밍 방식으로 문서에서 텍스트를 쉽게 추출할 수 있습니다. 이 기사에서는 C#을 사용하여 DOC 또는 DOCX 문서에서 텍스트를 추출하는 방법을 배웁니다.

이 문서에서는 다음 주제를 논의/다룹니다.

텍스트 추출을 위한 C# API

DOCX 문서에서 텍스트를 추출하기 위해 GroupDocs.Parser for .NET API를 사용할 것입니다. Word, PDF, Excel 및 Powerpoint와 같은 지원되는 파일 형식 문서에서 텍스트, 메타데이터 및 이미지를 추출할 수 있습니다. 또한 지원되는 형식의 파일에서 원시, 형식 및 구조화된 텍스트 및 메타데이터 추출을 지원합니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

Install-Package GroupDocs.Parser

C#을 사용하여 DOCX에서 텍스트 추출

아래에 언급된 간단한 단계에 따라 문서를 쉽게 구문 분석하고 텍스트를 추출할 수 있습니다.

  • Parser 클래스의 인스턴스 생성
  • 파일 경로 지정
  • Parser 클래스의 GetText 메서드를 호출하여 텍스트 추출
  • TextReader 클래스 개체에서 결과 가져오기
  • TextReader 클래스의 ReadToEnd 메서드를 호출하여 결과 표시

다음 코드 샘플은 C#을 사용하여 DOCX 파일에서 텍스트를 추출하는 방법을 보여줍니다.

// Parser 클래스의 인스턴스 생성
Parser parser = new Parser(@"C:\Files\sample.docx");

// 판독기로 텍스트 추출
using (TextReader reader = parser.GetText())
{
    // 문서에서 텍스트 인쇄
    // 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
C#을 사용하여 DOCX에서 텍스트 추출

C#을 사용하여 DOCX에서 텍스트 추출

Parser 클래스는 구문 분석 기능과 텍스트 및 이미지 추출을 제공하는 기본 클래스입니다. 이 클래스의 constructor에 입력 파일 경로를 지정했습니다.

Parser 클래스의 GetText() 메서드는 지정된 문서에서 텍스트를 추출합니다.

C#을 사용하여 DOCX에서 서식 있는 텍스트 가져오기

아래에 언급된 간단한 단계에 따라 스타일 서식을 잃지 않고 Word 문서를 쉽게 구문 분석하고 텍스트를 추출할 수 있습니다.

  • Parser 클래스의 인스턴스 생성
  • 파일 경로 지정
  • FormattedTextOptions 정의
  • FormattedTextMode를 HTML로 설정
  • Parser 클래스의 GetFormattedText 메서드를 호출하여 텍스트 추출
  • TextReader 클래스 개체에서 결과 가져오기
  • TextReader 클래스의 ReadToEnd 메서드를 호출하여 결과 표시

다음 코드 샘플은 C#을 사용하여 DOCX 파일에서 형식이 지정된 텍스트를 추출하는 방법을 보여줍니다.

// Parser 클래스의 인스턴스 생성
Parser parser = new Parser(@"C:\Files\sample.docx");

// 형식이 지정된 텍스트를 판독기로 추출
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // 문서에서 서식 있는 텍스트 인쇄
    // 형식화된 텍스트 추출이 지원되지 않는 경우 판독기는 null입니다.
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
C#을 사용하여 DOCX에서 서식 있는 텍스트 추출

C#을 사용하여 DOCX에서 서식 있는 텍스트 추출

FormattedTextOptions 클래스는 Mode 추출과 같은 형식화된 텍스트 추출에 사용되는 옵션을 제공합니다. 문서 텍스트를 HTML 로 추출하는 HTML로 추출 모드를 설정했습니다.

Parser 클래스의 GetFormattedText() 메서드는 지정된 문서에서 서식이 지정된 텍스트를 추출합니다.

C#을 사용하여 페이지에서 서식 있는 텍스트 추출

아래에 언급된 간단한 단계에 따라 Word 문서를 쉽게 구문 분석하고 문서의 특정 페이지에서 서식이 지정된 텍스트를 추출할 수 있습니다.

다음 코드 샘플은 C#을 사용하여 페이지에서 서식 있는 텍스트를 하나씩 추출하는 방법을 보여줍니다.

// Parser 클래스의 인스턴스 만들기
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // 문서가 서식 있는 텍스트 추출을 지원하는지 확인
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // 문서 정보 얻기
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // 문서에 페이지가 있는지 확인
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // 페이지 반복
    for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // 페이지 번호 인쇄 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // 형식이 지정된 텍스트를 리더로 추출
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // 문서에서 서식 있는 텍스트 인쇄
            // 이전에 형식화된 텍스트 추출 기능 지원을 확인했기 때문에 null 확인을 무시합니다.
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
C#을 사용하여 페이지에서 서식 있는 텍스트 추출

C#을 사용하여 페이지에서 서식 있는 텍스트 추출

Parser 클래스는 Features 클래스를 나타내는 Features 속성을 제공합니다. 문서에 지원되는 기능인지 확인하는 데 사용할 수 있습니다. 지원되는 기능에 대한 자세한 내용은 “지원되는 기능 가져오기” 섹션에서 읽을 수 있습니다.

무료 라이선스 받기

무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 C#을 사용하여 Word 문서에서 텍스트를 추출하는 방법을 배웠습니다. 문서를 사용하여 .NET API용 GroupDocs.Parser에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오