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

Splitting или split a document - это процесс разбиения большого документа на большее количество файлов меньшего размера. Для разбиения файла существуют различные причины. Например, вам нужны только некоторые страницы из определенного документа, а не весь документ целиком. Или по соображениям конфиденциальности вы хотите поделиться с другими пользователями только некоторыми частями документа. С помощью функции разделения вы можете получить только нужные части документа и выполнить с ними необходимые действия, например, пометить, сохранить или отправить.

Aspose.Words предоставляет вам эффективный способ разделения одного документа на несколько документов по заголовкам или разделам. Вы также можете разделить документ по страницам или диапазонам страниц. Оба варианта разделения будут описаны в этой статье.

Чтобы разбить документ на файлы меньшего размера с помощью Aspose.Words, вам необходимо выполнить следующие действия:

  1. Загрузите документ в любом поддерживаемом формате.
  2. Разделите документ.
  3. Сохраните выходные документы.

После разделения документа вы сможете открыть все выходные документы, которые будут начинаться с нужных страниц, текста и т.д.

Разделить документ по разным критериям

Aspose.Words позволяет разделить EPUB или HTML документы на главы в соответствии с различными критериями. При этом стиль и оформление исходного документа сохраняются для выходных документов.

Вы можете указать критерии, используя перечисление DocumentSplitCriteria. Таким образом, вы можете разделить документ на главы, используя один из следующих критериев, или объединить несколько критериев вместе:

  • заголовок абзаца,
  • разрыв раздела,
  • разрыв столбца,
  • разрыв страницы.

При сохранении выходных данных в HTML, Aspose.Words сохраните каждую отдельную главу в виде отдельного файла HTML. В результате документ будет разделен на несколько HTML файлов. При сохранении выходных данных в EPUB, Aspose.Words сохраните результат в одном файле EPUB независимо от используемого вами значения DocumentSplitCriteria. Таким образом, использование DocumentSplitCriteria для EPUB документов влияет только на внешний вид их содержимого в приложениях для чтения: содержимое будет разделено на главы, и документ больше не будет выглядеть непрерывным.

В этом разделе мы рассмотрим лишь некоторые из возможных критериев разделения.

Разбить документ по заголовкам

Чтобы разбить документ на главы по заголовкам, используйте значение HeadingParagraph свойства DocumentSplitCriteria.

Если вам нужно разбить документ на абзацы с определенным уровнем заголовков, например, заголовки 1, 2 и 3, используйте также свойство DocumentSplitHeadingLevel. Выходные данные будут разделены на абзацы, отформатированные с указанным уровнем заголовков.

В следующем примере кода показано, как разделить документ на более мелкие части по заголовку:

Пожалуйста, обратите внимание, что для этого критерия Aspose.Words поддерживает сохранение только в формате HTML при разделении.

При сохранении в EPUB документ не будет разделен на несколько файлов, и будет только один выходной файл.

Разбить документ на разделы

Aspose.Words также позволяет использовать разрывы разделов для разделения документов и сохранения их в HTML. Для этой цели используйте SectionBreak в качестве DocumentSplitCriteria:

Существует еще один способ разделить исходный документ на несколько выходных документов, и вы можете выбрать любой выходной формат, поддерживаемый Aspose.Words.

В следующем примере кода показано, как разделить документ на более мелкие части с помощью разрывов разделов (без использования свойства DocumentSplitCriteria).:

Разбивка по страницам

Вы также можете разбить документ постранично, по диапазонам страниц или начиная с указанных номеров страниц. В этом случае метод ExtractPages может выполнить эту задачу.

В этом разделе описано несколько вариантов использования разбивки документов на страницы с использованием класса Document и метода ExtractPages.

Разбиение документа постранично

Aspose.Words позволяет разбивать многостраничный документ постранично.

В следующем примере кода показано, как разделить документ и сохранить каждую страницу как отдельный документ:

Разбить документ по диапазонам страниц

Aspose.Words позволяет разделить многостраничный документ по диапазонам страниц. Вы можете разделить один файл на несколько файлов с различными диапазонами страниц или просто выбрать один диапазон и сохранить только эту часть исходного документа. Обратите внимание, что вы можете выбрать диапазон страниц в соответствии с максимальным и минимальным номерами страниц документа.

В следующем примере кода показано, как разбить документ на более мелкие части по диапазону страниц с определенными начальными и конечными индексами:

Возможность обратного вызова для сохранения документа

Вы можете использовать свойство DocumentPartSavingCallback, чтобы управлять сохранением частей документа Aspose.Words при экспорте этого документа в формат HTML. Это свойство позволяет переименовывать выходные файлы или даже перенаправлять их в пользовательские потоки.

Пожалуйста, обратите внимание, что этот обратный вызов бесполезен при сохранении в EPUB, поскольку все выходные данные должны быть сохранены в одном контейнере – файле .epub. Таким образом, перенаправление потока не поддерживается, и эффект переименования не виден, поскольку файлы переименовываются внутри контейнера.

Объедините разделенный документ с другим документом

Aspose.Words позволяет объединить выходной разделенный документ с другим документом для формирования нового документа. Это можно назвать объединением документов.

В следующем примере кода показано, как объединить разделенный документ с другим документом: