C#에서 MS Word 문서에서 텍스트 추출하기

Microsoft Word 문서는 텍스트 콘텐츠를 생성하고 공유하는 데 널리 사용됩니다. C# 애플리케이션에서 Word 문서를 작업하는 경우 C#을 사용하여 Word 문서에서 텍스트 추출형식 유지하여 텍스트 추출을 수행해야 할 수도 있습니다. 예를 들어, 텍스트를 분석하거나 문서의 특정 섹션을 추출하거나 통합하여 단일 문서를 만들고 싶을 수 있습니다. 이 블로그에서는 Word 문서 텍스트 추출을 위한 가장 좋은 C# 라이브러리를 사용하여 C#에서 Word 문서에서 텍스트를 추출하는 방법을 탐구할 것입니다.

Word 문서에서 텍스트를 추출하는 C# 라이브러리

Aspose.Words for .NET은 Word 문서를 작업하기 위한 기능이 풍부하고 사용하기 쉬운 라이브러리입니다. 이 라이브러리는 .NET Word 문서 텍스트 추출, 문서 생성, 조작 및 변환을 포함한 광범위한 기능을 제공합니다. Aspose.Words for .NET을 사용하면 Word 문서의 다양한 측면을 처리할 수 있어 효율적인 C# 단어 텍스트 추출을 원하는 개발자에게 소중한 도구가 됩니다.

DLL을 다운로드하거나 패키지 관리자 콘솔을 사용하여 NuGet에서 라이브러리를 직접 설치할 수 있습니다.

PM> Install-Package Aspose.Words

Word 문서에서 텍스트 추출하기

MS Word 문서는 단락, 테이블, 이미지 등 다양한 요소로 구성되어 있습니다. 따라서 텍스트 추출 요구 사항은 상황에 따라 달라질 수 있습니다. 예를 들어 C#으로 스캔된 Word 문서에서 텍스트 추출 또는 C# .NET으로 Word 파일에서 텍스트 추출이 필요할 수 있습니다. Word 문서의 각 요소 유형은 노드로 표현됩니다. 따라서 문서를 처리하려면 노드와 상호작용해야 합니다. 이제 텍스트를 추출하는 방법을 시작하고 다양한 시나리오에서 C# 텍스트 추출 시 형식 유지를 효과적으로 처리하는 방법을 살펴보겠습니다.

C#에서 Word DOC에서 텍스트 추출

이 섹션에서는 Word 문서를 위한 C# 텍스트 추출기를 구현하고 텍스트 추출 과정의 워크플로우는 다음과 같습니다:

  • 먼저 텍스트 추출 프로세스에 포함할 노드를 정의합니다.
  • 그런 다음 지정된 노드 간의 내용을 추출합니다(시작 및 종료 노드를 포함 또는 제외).
  • 마지막으로, 추출된 내용을 포함하는 새 Word 문서를 생성하기 위해 추출된 노드의 복제를 사용합니다.

이제 ExtractContent라는 메서드를 작성해 보겠습니다. 이 메서드는 텍스트 추출을 수행하기 위해 노드와 기타 매개변수를 전달받습니다. 이 메서드는 문서를 구문 분석하고 노드를 복제합니다. 다음은 이 메서드에 전달할 매개변수입니다:

  1. StartNodeEndNode는 각각 콘텐츠 추출의 시작 및 종료 지점을 정의합니다. 이들은 모두 블록 수준(Paragraph, Table) 또는 인라인 수준(예: Run, FieldStart, BookmarkStart, 등) 노드일 수 있습니다.
    1. 필드를 전달하려면 해당 FieldStart 객체를 전달해야 합니다.
    2. 북마크를 전달하려면 BookmarkStartBookmarkEnd 노드를 전달해야 합니다.
    3. 주석의 경우 CommentRangeStartCommentRangeEnd 노드를 사용해야 합니다.
  2. IsInclusive는 마커가 추출에 포함되는지 여부를 정의합니다. 이 옵션이 false로 설정되고 같은 노드 또는 연속 노드가 전달되면 빈 목록이 반환됩니다.

다음은 전달된 노드 간의 콘텐츠를 정확하게 추출하는 ExtractContent 메서드의 완전한 구현입니다.

텍스트 추출 작업을 완료하기 위해 ExtractContent 메서드가 요구하는 일부 도우미 메서드도 아래와 같이 제공됩니다.

이제 이러한 메서드를 활용하고 C#을 통해 Word 문서에서 텍스트를 추출할 준비가 되었습니다.

Word 문서의 단락 간 텍스트 추출

Word DOCX 문서에서 두 개의 단락 간의 내용을 추출하는 방법을 살펴보겠습니다. C#에서 이 작업을 수행하는 단계는 다음과 같습니다.

  • 먼저 Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) 메서드를 사용하여 시작 및 종료 단락에 대한 참조를 두 개의 객체로 가져옵니다.
  • ExtractContent(startPara, endPara, true) 메서드를 호출하여 노드를 객체로 추출합니다.
  • GenerateDocument(Document, extractedNodes) 도우미 메서드를 호출하여 추출된 내용으로 구성된 문서를 생성합니다.
  • 마지막으로 Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음 코드 샘플은 C#에서 Word 문서의 7번째 및 11번째 단락 간의 텍스트를 효율적으로 추출하는 방법을 보여줍니다.

다양한 종류의 노드 간 텍스트 추출

다양한 종류의 노드 간의 내용을 추출할 수도 있습니다. 시연을 위해 단락과 테이블 간의 콘텐츠를 추출하고 이를 새 Word 문서에 저장해 보겠습니다. 이 작업을 수행하는 단계는 다음과 같습니다.

  • Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Document.FirstSection.Body.GetChild(NodeType, int, boolean) 메서드를 사용하여 시작 및 종료 노드에 대한 참조를 두 개의 객체로 가져옵니다.
  • ExtractContent(startPara, endPara, true) 메서드를 호출하여 노드를 객체로 추출합니다.
  • GenerateDocument(Document, extractedNodes) 도우미 메서드를 호출하여 추출된 내용으로 구성된 문서를 생성합니다.
  • Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음 코드 샘플은 C#에서 단락과 테이블 간의 텍스트를 추출하는 방법을 보여줍니다.

스타일에 따라 단락 간 텍스트 추출

이제 스타일에 따라 단락 간의 내용을 추출하는 방법을 살펴보겠습니다. 시연을 위해 Word 문서에서 첫 번째 “Heading 1"과 첫 번째 “Heading 3” 간의 내용을 추출할 것입니다. 이 작업을 수행하는 단계는 다음과 같습니다.

  • 먼저 Document 클래스를 사용하여 Word 문서를 로드합니다.
  • 그런 다음 ParagraphsByStyleName(Document, “Heading 1”) 도우미 메서드를 사용하여 단락을 객체로 추출합니다.
  • ParagraphsByStyleName(Document, “Heading 3”) 도우미 메서드를 사용하여 또 다른 객체에 단락을 추출합니다.
  • ExtractContent(startPara, endPara, true) 메서드를 호출하고 두 단락 배열의 첫 번째 요소를 첫 번째 및 두 번째 매개변수로 전달합니다.
  • GenerateDocument(Document, extractedNodes) 도우미 메서드를 호출하여 추출된 내용으로 구성된 문서를 생성합니다.
  • 마지막으로 Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음 코드 샘플은 스타일에 따라 단락 간의 내용을 추출하는 방법을 보여줍니다.

텍스트 추출에 대한 자세한 내용

문서 기사를 통해 .NET Word 문서 텍스트 추출 API의 다른 시나리오를 탐색할 수 있습니다.

무료 Word 텍스트 추출기 라이브러리 받기

평가 제한 없이 텍스트를 추출할 수 있는 무료 임시 라이센스를 받을 수 있습니다.

결론

Aspose.Words for .NET형식 유지하여 C#에서 Word 텍스트 추출 프로세스를 간소화하는 다재다능한 라이브러리입니다. 광범위한 기능과 사용하기 쉬운 API를 갖춘 이 라이브러리를 통해 Word 문서와 효율적으로 작업하고 다양한 C# 단어 텍스트 추출 중 특수 문자 처리 시나리오를 자동화할 수 있습니다. Word 문서를 처리해야 하는 애플리케이션을 만드는 경우든 단순히 텍스트를 추출하는 경우든 Aspose.Words for .NET은 개발자를 위한 소중한 도구입니다.

Aspose.Words for .NET의 다른 기능을 문서를 통해 탐색할 수 있습니다. 질문이 있는 경우 언제든지 포럼을 통해 문의해 주십시오.

추가 정보

팁: Aspose PowerPoint to Word 변환기를 확인하는 것이 좋습니다. 이는 프레젠테이션을 Word 문서로 변환하는 인기 있는 프로세스를 시연합니다.