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

Microsoft Word 문서는 텍스트 콘텐츠를 생성하고 공유하는 데 필수적입니다. Word 문서와 상호작용하는 C# 애플리케이션을 개발하는 경우 C#을 사용하여 Word 문서에서 텍스트를 추출해야 할 수도 있습니다. 텍스트를 분석하든, 특정 섹션을 추출하든, 콘텐츠를 하나의 문서로 결합하든, 이 가이드는 최고의 C# 라이브러리로 Word 문서에서 텍스트를 효율적으로 추출하는 방법을 보여줍니다.

목차

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

Aspose.Words for .NET은 Word 문서 작업을 위해 설계된 기능이 풍부하고 사용하기 쉬운 라이브러리입니다. 이 라이브러리는 .NET Word 문서 텍스트 추출, 문서 생성, 조작 및 변환을 포함한 포괄적인 기능 세트를 제공합니다. Aspose.Words for .NET은 효율적인 C# Word 텍스트 추출을 원하는 개발자에게 귀중한 도구입니다.

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

PM> Install-Package Aspose.Words

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

MS Word 문서는 단락, 표 및 이미지와 같은 다양한 요소로 구성됩니다. 따라서 텍스트 추출 요구 사항은 상황에 따라 다를 수 있습니다. 예를 들어, C#에서 스캔된 Word 문서에서 텍스트를 추출해야 할 수도 있습니다 또는 C# .NET을 사용하여 Word 파일에서 텍스트를 추출해야 할 수도 있습니다. Word 문서의 각 요소는 노드로 표현되며, 추출 과정에서 상호작용하게 됩니다. 이제 C#에서 텍스트 추출 중 단어 형식을 효과적으로 처리하는 방법을 살펴보겠습니다.

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

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

  1. 텍스트 추출 과정에 포함할 노드를 정의합니다.
  2. 지정된 노드 사이의 콘텐츠를 추출합니다(시작 및 종료 노드를 포함하거나 제외).
  3. 추출된 노드를 복제하여 추출된 콘텐츠가 포함된 새 Word 문서를 생성합니다.

ExtractContent라는 메서드를 생성하여 노드와 텍스트 추출을 위한 기타 매개변수를 수락합니다. 이 메서드는 문서를 구문 분석하고 노드를 복제합니다. 메서드에 전달할 매개변수는 다음과 같습니다:

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

ExtractContent 메서드의 완전한 구현은 다음과 같이 C#에서 보호된 Word 문서에서 텍스트를 추출합니다:

또한, ExtractContent 메서드에서 텍스트 추출 작업을 용이하게 하기 위해 몇 가지 도우미 메서드가 필요합니다:

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

Word 문서의 단락 사이에서 텍스트 추출하기

Word DOCX 문서에서 두 단락 사이의 콘텐츠를 추출하려면 다음 단계를 따르세요:

  1. Document 클래스를 사용하여 Word 문서를 로드합니다.
  2. Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) 메서드를 사용하여 시작 및 종료 단락을 참조합니다.
  3. ExtractContent(startPara, endPara, true) 메서드를 호출하여 노드를 객체로 추출합니다.
  4. GenerateDocument(Document, extractedNodes) 도우미 메서드를 사용하여 추출된 콘텐츠가 포함된 문서를 생성합니다.
  5. 마지막으로 Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음은 7번째와 11번째 단락 사이의 콘텐츠를 추출하여 큰 Word 파일에서 텍스트를 추출하는 방법을 보여주는 코드 샘플입니다:

다양한 유형의 노드 사이에서 텍스트 추출하기

다양한 유형의 노드 사이에서 콘텐츠를 추출할 수도 있습니다. 예를 들어, 단락과 표 사이의 콘텐츠를 추출하고 새 Word 문서에 저장해 보겠습니다. 다음 단계를 따르세요:

  1. Document 클래스를 사용하여 Word 문서를 로드합니다.
  2. Document.FirstSection.Body.GetChild(NodeType, int, boolean) 메서드를 사용하여 시작 및 종료 노드를 참조합니다.
  3. ExtractContent(startPara, endPara, true) 메서드를 호출하여 노드를 객체로 추출합니다.
  4. GenerateDocument(Document, extractedNodes) 도우미 메서드를 사용하여 추출된 콘텐츠가 포함된 문서를 생성합니다.
  5. Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음은 C#에서 단락과 표 사이의 텍스트를 추출하는 방법을 보여주는 코드 샘플입니다:

스타일 기반의 단락 사이에서 텍스트 추출하기

이제 스타일을 기준으로 단락 사이의 콘텐츠를 추출하는 방법을 살펴보겠습니다. 이 예제에서는 Word 문서에서 첫 번째 “Heading 1"과 첫 번째 “Heading 3” 사이의 콘텐츠를 추출합니다. 다음 단계를 따르세요:

  1. Document 클래스를 사용하여 Word 문서를 로드합니다.
  2. ParagraphsByStyleName(Document, “Heading 1”) 도우미 메서드를 사용하여 단락을 객체로 추출합니다.
  3. ParagraphsByStyleName(Document, “Heading 3”) 도우미 메서드를 사용하여 다른 객체로 단락을 추출합니다.
  4. ExtractContent(startPara, endPara, true) 메서드를 호출하여 두 단락 배열의 첫 번째 요소를 매개변수로 전달합니다.
  5. GenerateDocument(Document, extractedNodes) 도우미 메서드를 사용하여 추출된 콘텐츠가 포함된 문서를 생성합니다.
  6. 마지막으로 Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.

다음은 스타일을 기준으로 단락 사이의 콘텐츠를 추출하는 방법을 보여주는 코드 샘플입니다:

텍스트 추출에 대해 더 알아보기

이 문서 기사에서 Word 문서 텍스트 추출을 위한 .NET API의 다른 시나리오를 탐색해 보세요.

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

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

결론

Aspose.Words for .NET형식을 유지하면서 C#에서 Word 텍스트를 추출하는 과정을 간소화하는 다목적 라이브러리입니다. 방대한 기능과 사용자 친화적인 API를 통해 Word 문서와 효율적으로 작업하고 C# 단어 텍스트 추출 중 특수 문자를 처리하는 다양한 시나리오를 자동화할 수 있습니다. Word 문서를 처리해야 하는 애플리케이션을 개발하든, 단순히 텍스트를 추출하든, Aspose.Words for .NET은 개발자에게 귀중한 도구입니다.

Aspose.Words for .NET의 추가 기능은 문서를 통해 탐색할 수 있습니다. 질문이 있는 경우 포럼을 통해 언제든지 문의해 주세요.

참조

팁: Aspose PowerPoint에서 Word 변환기도 확인해 보세요. 이는 인기 있는 프레젠테이션에서 Word 문서로의 변환 과정을 보여줍니다.