В различных случаях вам необходимо разделить документ MS Word на несколько документов. Например, может потребоваться создать отдельный документ для каждой страницы, раздела или набора страниц в документе Word. Чтобы автоматизировать разделение документа, в этой статье рассказывается, как программно разделить MS Word DOCX с помощью Java. В следующих разделах представлено пошаговое руководство и примеры кода для вышеупомянутых критериев разделения.
- Java API для разделения документов Word
- Разделить Word DOCX/DOC с помощью Java
- Используйте диапазон страниц для разделения документа Word
- Разделить документ Word по разделам
- Получить бесплатную лицензию API
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, используя класс Document.
- Создайте объект PageSplitter и инициализируйте его с помощью объекта Document.
- Используйте метод PageSplitter.getDocumentOfPageRange(Int, Int) для извлечения коллекции страниц в объект 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);
// Получить часть документа
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");
Разделить документ Word на разделы с помощью Java
Aspose.Words for Java также позволяет разбивать документ Word по разрывам разделов. Ниже приведены шаги для выполнения этой операции.
- Загрузите документ Word, используя класс Document.
- Прокрутите каждый раздел документа, используя метод Document.getSections().
- Клонируйте раздел в объект Section с помощью метода Document.getSections().get(index).deepClone().
- Создайте новый документ и добавьте в него клонированный раздел с помощью метода Document.getSections().add(Section).
- Сохраните документ, используя метод Document.save(String).
В следующем примере кода показано, как разделить документ 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, используя документацию.