Разделить документы Word Java

В различных случаях вам необходимо разделить документ MS Word на несколько документов. Например, может потребоваться создать отдельный документ для каждой страницы, раздела или набора страниц в документе Word. Чтобы автоматизировать разделение документа, в этой статье рассказывается, как программно разделить MS Word DOCX с помощью Java. В следующих разделах представлено пошаговое руководство и примеры кода для вышеупомянутых критериев разделения.

Java API для разделения Word DOCX

Aspose.Words for Java — это мощный и многофункциональный API для работы с документами, который позволяет создавать и обрабатывать документы MS Word. В дополнение к базовым и расширенным функциям автоматизации Word, API также позволяет разделить документ Word на несколько документов. Вы можете либо загрузить API, либо установить его в своем приложении на основе Maven, используя следующие конфигурации.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.1</version>
    <classifier>jdk17</classifier>
</dependency>

Разделитель документов Word — вспомогательный класс

Прежде чем вы начнете разбивать документы, вам нужно будет добавить в проект следующий вспомогательный класс, который реализует разделитель документов Java на основе Aspose.Words for Java. После добавления класса вы можете приступить к разделению документов, используя примеры кода, приведенные в разделах ниже.

Разделить Word DOCX с помощью Java

Прежде всего, давайте посмотрим, как разделить документ MS Word по страницам. В этом случае каждая страница исходного документа будет преобразована в отдельный документ Word. Ниже приведены шаги для разделения страниц документа Word.

  • Загрузите документ Word, используя класс Document.
  • Создайте объект PageSplitter и инициализируйте его с помощью объекта Document.
  • Пролистайте страницы документа.
  • Используйте метод PageSplitter.getDocumentOfPage(Int pageIndex) для извлечения каждой страницы в объект Document.
  • Сохраните документ с помощью метода Document.save(String).

В следующем примере кода показано, как разделить документ Word с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-words/Aspose.Words-for-Java.
// Откройте документ Word
Document doc = new Document("Word.docx");

// Разделить узлы в документе на отдельные страницы
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Сохраняйте каждую страницу как отдельный документ
for (int page = 1; page <= doc.getPageCount(); page++)
{
    Document pageDoc = splitter.getDocumentOfPage(page);
    pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

Используйте диапазон страниц для разделения Word DOCX в Java

Вы также можете определить диапазон страниц, который вы хотите отделить от исходного документа Word. Ниже приведены шаги для выполнения этой операции.

В следующем примере кода показано, как разделить документ Word по диапазону страниц с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-words/Aspose.Words-for-Java.
// Откройте документ Word
Document doc = new Document("Word.docx");

// Разделить узлы в документе на отдельные страницы
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Получить часть документа
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Разделить документ Word на разделы с помощью Java

Aspose.Words for Java также позволяет разбивать документ Word по разрывам разделов. Ниже приведены шаги для выполнения этой операции.

В следующем примере кода показано, как разделить документ Word на разделы с помощью Java.

// Загрузите документ Word DOCX
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Разделить документ на более мелкие части, в данном случае по разделам
	Section section = doc.getSections().get(i).deepClone();

	// Создать новый документ
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Добавить раздел
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

	// Сохраняйте каждый раздел как отдельный документ
	newDoc.save("splitted_" + i + ".docx");
}

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы опробовать API без ограничений пробной версии.

Вывод

В этой статье вы узнали, как разделить MS Word DOCX/DOC с помощью Java. В пошаговом руководстве и примерах кода показано, как разделить документ Word на разделы, страницы или диапазон страниц. Вы можете узнать больше о Java Word API, используя документацию.

Смотрите также