
대부분의 데이터는 문서, 이미지 및 웹에서 시각적 텍스트로 표현되므로 텍스트 데이터 추출이 가장 필요한 경우가 있습니다. 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에서 텍스트 추출
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에서 서식 있는 텍스트 추출
FormattedTextOptions 클래스는 Mode 추출과 같은 형식화된 텍스트 추출에 사용되는 옵션을 제공합니다. 문서 텍스트를 HTML 로 추출하는 HTML로 추출 모드를 설정했습니다.
Parser 클래스의 GetFormattedText() 메서드는 지정된 문서에서 서식이 지정된 텍스트를 추출합니다.
C#을 사용하여 페이지에서 서식 있는 텍스트 추출
아래에 언급된 간단한 단계에 따라 Word 문서를 쉽게 구문 분석하고 문서의 특정 페이지에서 서식이 지정된 텍스트를 추출할 수 있습니다.
- Parser 클래스의 인스턴스 생성
- 파일 경로 지정
- FormattedText이 true인지 확인
- GetDocumentInfo를 호출하여 페이지 수를 가져옵니다.
- PageCount가 0이 아닌지 확인
- FormattedTextOptions 정의
- FormattedTextMode를 HTML로 설정
- 각 페이지 인덱스에 대해 GetFormattedText 메서드를 호출하여 텍스트 추출
- TextReader 클래스 개체에서 결과 가져오기
- TextReader 클래스의 ReadToEnd 메서드를 호출하여 결과 표시
다음 코드 샘플은 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#을 사용하여 페이지에서 서식 있는 텍스트 추출
Parser 클래스는 Features 클래스를 나타내는 Features 속성을 제공합니다. 문서에 지원되는 기능인지 확인하는 데 사용할 수 있습니다. 지원되는 기능에 대한 자세한 내용은 “지원되는 기능 가져오기” 섹션에서 읽을 수 있습니다.
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 C#을 사용하여 Word 문서에서 텍스트를 추출하는 방법을 배웠습니다. 문서를 사용하여 .NET API용 GroupDocs.Parser에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.