MS Word 문서는 정보를 유지하고 공유하는 데 널리 사용됩니다. 경우에 따라 다른 섹션이나 페이지에 있을 수 있는 Word 문서의 데이터를 분할해야 할 수 있습니다. 또한 단일 문서의 페이지를 여러 문서로 분할해야 할 수도 있습니다. 이러한 시나리오에 따라 이 기사에서는 C#을 사용하여 프로그래밍 방식으로 MS Word 문서를 분할하는 방법을 보여 주는 것을 목표로 합니다.
- MS Word 문서를 분할하는 C# API
- C#을 사용하여 섹션별로 Word 문서 분할
- C#을 사용하여 페이지별로 Word 문서 분할
- 페이지 범위를 사용하여 C#을 사용하여 Word 문서 분할
MS Word 문서를 분할하는 C# API
Aspose.Words for .NET은 C# 또는 VB.NET을 사용하여 MS Word 문서를 만들고 조작할 수 있는 강력한 워드 프로세싱 API입니다. 이와 함께 섹션, 페이지 또는 페이지 범위별로 MS Word 문서를 분할할 수도 있습니다. API를 다운로드하거나 NuGet을 사용하여 애플리케이션 내에 설치할 수 있습니다.
PM> Install-Package Aspose.Words
C#을 사용하여 섹션별로 Word 문서 분할
섹션은 다른 서식을 적용할 수 있는 문서의 부분을 나타냅니다. 섹션은 단일 페이지, 페이지 범위 또는 전체 문서로 구성될 수 있습니다. 섹션 나누기는 문서를 여러 섹션으로 분할하는 데 사용됩니다. 다음은 .NET용 Aspose.Words를 사용하여 섹션을 기반으로 Word 문서를 분할하는 단계입니다.
- Document 클래스를 사용하여 Word 문서를 로드합니다.
- Document.Sections 속성을 사용하여 페이지 섹션을 반복합니다.
- 섹션을 새 Section 개체로 복제합니다.
- 새 문서 개체를 만듭니다.
- Document.Sections.Add(Section) 메서드를 사용하여 새 Document에 섹션을 추가합니다.
- Document.Save(String) 메서드를 사용하여 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 섹션별로 MS Word 문서를 분할하는 방법을 보여줍니다.
// 워드 문서 열기
Document doc = new Document("document.docx");
for (int i = 0; i < doc.Sections.Count; i++)
{
// 문서를 더 작은 부분으로 분할합니다. 이 경우 섹션별로 분할합니다.
Section section = doc.Sections[i].Clone();
// 새 문서 만들기
Document newDoc = new Document();
newDoc.Sections.Clear();
Section newSection = (Section)newDoc.ImportNode(section, true);
newDoc.Sections.Add(newSection);
// 각 섹션을 별도의 문서로 저장
newDoc.Save($"splitted_{i}.docx");
}
C#을 사용하여 페이지별로 Word 문서 분할
Word 문서의 각 페이지에 인보이스 또는 영수증과 같은 유사한 유형의 정보가 포함된 경우가 있을 수 있습니다. 이러한 경우 문서의 페이지를 분할하여 각 송장을 별도의 문서로 저장할 수 있습니다. 문서 페이지를 페이지별로 분할하기 위해 .NET용 Aspose.Words를 기반으로 하는 도우미 클래스 DocumentPageSplitter를 사용할 수 있습니다. 프로젝트 내에서 클래스를 복사하고 아래 단계에 따라 Word 문서를 페이지별로 분할할 수 있습니다.
- Document 클래스를 사용하여 Word 문서를 로드합니다.
- DocumentPageSplitter 클래스의 객체를 생성하고 Document 객체로 초기화합니다.
- 문서의 페이지를 반복합니다.
- DocumentPageSplitter.GetDocumentOfPage(int PageIndex) 메서드를 사용하여 각 페이지를 새 Document 객체로 추출합니다.
- Document.Save(String) 메서드를 사용하여 각 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 Word 문서를 페이지별로 분할하는 방법을 보여줍니다.
// 워드 문서 열기
Document doc = new Document("Document.docx");
// 문서 페이지 분할기 생성 및 초기화
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// 각 페이지를 별도의 문서로 저장
for (int page = 1; page <= doc.PageCount; page++)
{
Document pageDoc = splitter.GetDocumentOfPage(page);
pageDoc.Save($"spliteed_{page}.docx");
}
C#을 사용하여 페이지 범위별로 Word 문서 분할
DocumentPageSplitter 클래스를 사용하여 원본 문서에서 분할할 페이지 범위를 지정할 수도 있습니다. 예를 들어 페이지를 2에서 4로 분할해야 하는 경우 DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex) 메서드에서 시작 및 끝 페이지의 인덱스를 지정하기만 하면 됩니다.
다음 코드 샘플은 C#을 사용하여 Word 문서에서 페이지 범위를 분할하는 방법을 보여줍니다.
// 워드 문서 열기
Document doc = new Document("document.docx");
// 문서 페이지 분할기 생성 및 초기화
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// 페이지 범위 가져오기
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");
결론
이 기사에서는 C#을 사용하여 프로그래밍 방식으로 MS Word 문서를 분할하는 방법을 배웠습니다. 섹션, 페이지 및 페이지 범위별로 Word 문서를 분할하는 시나리오는 코드 샘플과 함께 논의되었습니다. 문서를 사용하여 .NET용 Aspose.Words에 대해 자세히 알아볼 수 있습니다.