Розділити документи Word C++

MS Word є популярним форматом для зберігання та обміну інформацією. Можуть бути ситуації, коли потрібно розділити документ Word на кілька файлів. Наприклад, документ може містити різні розділи, якими потрібно поділитися з різними людьми, або містити певну конфіденційну інформацію, яку потрібно розділити. У таких випадках розбиття документа Word виявляється корисним. У цій статті ви дізнаєтеся, як розділити документи MS Word за допомогою C++.

C++ API для розділення документів Word

Aspose.Words for C++ — це рідна бібліотека C++, яка дозволяє створювати, змінювати та конвертувати документи Microsoft Word. Крім того, він також підтримує розділення документів Word на кілька файлів. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.Words.Cpp

Розбийте документи Word за сторінками за допомогою C++

Нижче наведено кроки для розділення файлів Word за допомогою C++.

  • Завантажте документ Word за допомогою класу Document.
  • Створіть екземпляр класу DocumentPageSplitter та ініціалізуйте його за допомогою об’єкта Document, створеного на попередньому кроці.
  • Перегляньте сторінки Документ.
  • Витягніть кожну сторінку за допомогою методу DocumentPageSplitter.GetDocumentOfPage(int32t 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");
}

Використовуйте Page Range, щоб розділити документ Word

Замість того, щоб відокремлювати кожну сторінку, ви також можете розділити документ Word, надавши діапазон сторінок. Нижче наведено кроки, щоб розділити документ Word за допомогою діапазону сторінок.

  • По-перше, завантажте документ Word за допомогою класу Document.
  • Створіть екземпляр класу DocumentPageSplitter та ініціалізуйте його об’єктом Document попереднього кроку.
  • Отримайте сторінки в потрібному діапазоні за допомогою методу DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
  • Нарешті, збережіть документ Word за допомогою методу 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);

// Отримайте діапазон сторінок
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// Шлях вихідного файлу
System::String outputPath = u"OutputDirectory\\";

// Зберегти як файл DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

Розділіть документ Word на розділи за допомогою C++

Файли Word можуть містити один або кілька розділів, які можуть мати різне форматування та складатися з будь-якої кількості сторінок. Щоб додати новий розділ у файл Word, скористайтеся опцією Макет>Розриви>Розриви розділів. Нижче наведено кроки для розділення файлів Word на розділи за допомогою Aspose.Words for C++ API.

Нижче наведено зразок коду для розділення документів 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 без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як розділити документи Word на кілька файлів за допомогою C++. Ви навчилися використовувати API Aspose.Words for C++ для розділення документів Word за сторінками, діапазонами сторінок і розділами. Ви можете детально вивчити API, використовуючи офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на форумі.

Дивись також