Word 문서 분할 C++

MS Word는 정보를 저장하고 공유하는 데 널리 사용되는 형식입니다. Word 문서를 여러 파일로 분할하려는 시나리오가 있을 수 있습니다. 예를 들어 문서에 다른 사람들과 공유해야 하는 여러 섹션이 포함되어 있거나 분리해야 하는 일부 기밀 정보가 포함될 수 있습니다. 이러한 경우 Word 문서를 분할하는 것이 도움이 됩니다. 이 기사에서는 C++를 사용하여 MS Word 문서를 분할하는 방법을 배웁니다.

Word 문서 분할을 위한 C++ API

Aspose.Words for C++은 Microsoft Word 문서를 생성, 변경 및 변환할 수 있는 기본 C++ 라이브러리입니다. 또한 Word 문서를 여러 파일로 분할하는 기능도 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.Words.Cpp

C++를 사용하여 페이지별로 Word 문서 분할

다음은 C++를 사용하여 Word 파일을 분할하는 단계입니다.

  • Document 클래스를 사용하여 Word 문서를 로드합니다.
  • DocumentPageSplitter 클래스의 인스턴스를 생성하고 이전 단계에서 생성한 Document 객체로 초기화합니다.
  • 문서의 페이지를 반복합니다.
  • DocumentPageSplitter.GetDocumentOfPage(int32\t PageIndex) 메소드로 각 페이지를 추출합니다.
  • Document->Save (System::String fileName) 메서드를 사용하여 문서를 저장합니다.

다음은 Word 문서를 페이지별로 분할하는 샘플 코드입니다.

// 샘플 Word 문서
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word 문서 로드
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// 문서 페이지 분할기 생성 및 초기화
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// 출력 파일 경로
System::String outputPath = u"OutputDirectory\\";

// 각 페이지를 별도의 문서로 저장
for (int page = 1; page <= document->get_PageCount(); page++)
{
    auto pageDoc = splitter.GetDocumentOfPage(page);
    pageDoc->Save(outputPath + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(page) + u".docx");
}

페이지 범위를 사용하여 Word 문서 분할

각 페이지를 분리하는 대신 페이지 범위를 제공하여 Word 문서를 분할할 수도 있습니다. 다음은 페이지 범위를 사용하여 Word 문서를 분할하는 단계입니다.

  • 먼저 Document 클래스를 사용하여 Word 문서를 로드합니다.
  • DocumentPageSplitter 클래스의 인스턴스를 만들고 이전 단계의 Document 개체로 초기화합니다.
  • DocumentPageSplitter.GetDocumentOfPageRange(int32\t pageIndex, int32\t pageIndex) 메서드를 사용하여 필요한 범위의 페이지를 검색합니다.
  • 마지막으로 Document->Save (System::String fileName) 방법으로 Word 문서를 저장합니다.

다음은 페이지 범위를 사용하여 Word 문서를 분할하는 샘플 코드입니다.

// 샘플 Word 문서
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word 문서 로드
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// 문서 페이지 분할기 생성 및 초기화
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// 페이지 범위 가져오기
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// 출력 파일 경로
System::String outputPath = u"OutputDirectory\\";

// DOCX 파일로 저장
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

C++를 사용하여 섹션별로 Word 문서 분할

Word 파일에는 서식이 다를 수 있고 여러 페이지로 구성될 수 있는 하나 이상의 섹션이 포함될 수 있습니다. Word 파일에 새 섹션을 추가하려면 레이아웃>나누기>섹션 나누기 옵션을 사용합니다. 다음은 Aspose.Words for C++ API를 사용하여 섹션별로 Word 파일을 분할하는 단계입니다.

다음은 Word 문서를 섹션별로 분할하는 샘플 코드입니다.

// 샘플 Word 문서
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// Word 문서 로드
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// 출력 파일 경로
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // 문서를 더 작은 부분으로 분할합니다. 이 경우 섹션별로 분할합니다.
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // 새 문서 만들기
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //새로 만든 문서에 새 섹션 추가
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // 각 섹션을 별도의 문서로 저장
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

무료 라이선스 받기

무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 C++를 사용하여 Word 문서를 여러 파일로 분할하는 방법을 배웠습니다. Aspose.Words for C++ API를 사용하여 페이지, 페이지 범위 및 섹션별로 Word 문서를 분할하는 방법을 배웠습니다. 공식 문서를 통해 API를 자세히 살펴볼 수 있습니다. 문의사항이 있으시면 포럼으로 연락주시기 바랍니다.

또한보십시오