
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# 텍스트 추출기를 구현합니다. 텍스트 추출을 위한 워크플로우는 다음과 같습니다:
- 텍스트 추출 과정에 포함할 노드를 정의합니다.
- 지정된 노드 사이의 콘텐츠를 추출합니다(시작 및 종료 노드를 포함하거나 제외).
- 추출된 노드를 복제하여 추출된 콘텐츠가 포함된 새 Word 문서를 생성합니다.
ExtractContent라는 메서드를 생성하여 노드와 텍스트 추출을 위한 기타 매개변수를 수락합니다. 이 메서드는 문서를 구문 분석하고 노드를 복제합니다. 메서드에 전달할 매개변수는 다음과 같습니다:
- StartNode와 EndNode는 콘텐츠 추출의 시작 및 종료 지점 역할을 합니다. 이들은 블록 수준(예: Paragraph, Table) 또는 인라인 수준 노드(예: Run, FieldStart, BookmarkStart 등)일 수 있습니다.
- 필드의 경우 해당 FieldStart 객체를 전달합니다.
- 북마크의 경우 BookmarkStart와 BookmarkEnd 노드를 사용합니다.
- 주석의 경우 CommentRangeStart와 CommentRangeEnd 노드를 활용합니다.
- IsInclusive는 마커가 추출에 포함되는지 여부를 지정합니다. false로 설정하고 동일하거나 연속적인 노드를 전달하면 빈 목록이 반환됩니다.
ExtractContent 메서드의 완전한 구현은 다음과 같이 C#에서 보호된 Word 문서에서 텍스트를 추출합니다:
또한, ExtractContent 메서드에서 텍스트 추출 작업을 용이하게 하기 위해 몇 가지 도우미 메서드가 필요합니다:
이제 이러한 메서드를 활용하여 C#을 사용하여 Word 문서에서 텍스트를 추출할 준비가 되었습니다.
Word 문서의 단락 사이에서 텍스트 추출하기
Word DOCX 문서에서 두 단락 사이의 콘텐츠를 추출하려면 다음 단계를 따르세요:
- Document 클래스를 사용하여 Word 문서를 로드합니다.
- Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) 메서드를 사용하여 시작 및 종료 단락을 참조합니다.
- ExtractContent(startPara, endPara, true) 메서드를 호출하여 노드를 객체로 추출합니다.
- GenerateDocument(Document, extractedNodes) 도우미 메서드를 사용하여 추출된 콘텐츠가 포함된 문서를 생성합니다.
- 마지막으로 Document.Save(string) 메서드를 사용하여 반환된 문서를 저장합니다.
다음은 7번째와 11번째 단락 사이의 콘텐츠를 추출하여 큰 Word 파일에서 텍스트를 추출하는 방법을 보여주는 코드 샘플입니다:
다양한 유형의 노드 사이에서 텍스트 추출하기
다양한 유형의 노드 사이에서 콘텐츠를 추출할 수도 있습니다. 예를 들어, 단락과 표 사이의 콘텐츠를 추출하고 새 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) 메서드를 사용하여 반환된 문서를 저장합니다.
다음은 스타일을 기준으로 단락 사이의 콘텐츠를 추출하는 방법을 보여주는 코드 샘플입니다:
텍스트 추출에 대해 더 알아보기
이 문서 기사에서 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 문서로의 변환 과정을 보여줍니다.