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

Документи MS Word широко використовуються для зберігання та обміну інформацією. У деяких випадках вам може знадобитися розділити дані з документа Word, які можуть бути розташовані в різних розділах або сторінках. Крім того, вам може знадобитися розділити сторінки одного документа на кілька документів. Відповідно до таких сценаріїв ця стаття має на меті показати вам, як програмно розділити документи MS Word за допомогою C#.

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

Aspose.Words for .NET — це потужний API для обробки текстів, який дозволяє створювати документи MS Word і працювати з ними за допомогою C# або VB.NET. Крім того, він також дозволяє вам розділяти документи MS Word за розділами, сторінками або діапазонами сторінок. Ви можете завантажити API або встановити його у своїй програмі за допомогою NuGet.

PM> Install-Package Aspose.Words

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

Розділи стосуються частин документа, до яких можна застосувати різне форматування. Розділ може складатися з однієї сторінки, низки сторінок або всього документа. Розриви розділів використовуються для поділу документа на кілька розділів. Нижче наведено кроки, щоб розділити документ Word на основі його розділів за допомогою Aspose.Words for .NET.

  • Завантажте документ Word за допомогою класу Document.
  • Переглядайте розділи сторінки за допомогою властивості Document.Sections.
  • Клонуйте розділ у новий об’єкт Section.
  • Створіть новий об’єкт Document.
  • Додайте розділ до нового Document за допомогою методу Document.Sections.Add(Section).
  • Збережіть документи за допомогою методу Document.Save(String).

У наступному прикладі коду показано, як розділити документи MS Word на розділи за допомогою C#.

// Відкрийте документ 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");
}

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

Може бути випадок, коли документ Word містить інформацію подібного типу на кожній сторінці, як-от рахунки-фактури або квитанції. У такому випадку ви можете розділити сторінки документа, щоб зберегти кожен рахунок-фактуру як окремий документ. Для розділення документів сторінка за сторінкою ви можете використовувати допоміжний клас DocumentPageSplitter на основі Aspose.Words for .NET. Ви можете просто скопіювати клас у своєму проекті та розділити документи Word по сторінках, дотримуючись наведених нижче кроків.

  • Завантажте документ Word за допомогою класу Document.
  • Створіть об’єкт класу DocumentPageSplitter та ініціалізуйте його об’єктом Document.
  • Переглядайте сторінки документа.
  • Витягніть кожну сторінку в новий об’єкт Document за допомогою методу DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
  • Збережіть кожен документ за допомогою методу Document.Save(String).

У наведеному нижче прикладі коду показано, як розділити документ Word на сторінки за допомогою 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");
}

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

Ви також можете вказати діапазон сторінок, щоб відокремити його від оригінального документа за допомогою класу DocumentPageSplitter. Наприклад, якщо вам потрібно розділити сторінки від 2 до 4, просто вкажіть індекси початкової та кінцевої сторінок у методі DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).

У наведеному нижче прикладі коду показано, як розділити діапазон сторінок із документа Word за допомогою C#.

// Відкрийте документ Word
Document doc = new Document("document.docx");

// Створення та ініціалізація розділювача сторінок документа
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Отримайте діапазон сторінок
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

Висновок

У цій статті ви дізналися, як програмно розділяти документи MS Word за допомогою C#. Сценарії поділу документів Word на розділи, сторінки та діапазони сторінок обговорювалися разом із зразками коду. Ви можете дізнатися більше про Aspose.Words for .NET, використовуючи документацію.

Дивись також