Объединение и добавление документов в Aspose.Words для Java

Введение в объединение и добавление документов в Aspose.Words для Java

В этом уроке мы рассмотрим, как объединять и добавлять документы с помощью библиотеки Aspose.Words for Java. Вы узнаете, как легко объединить несколько документов, сохраняя форматирование и структуру.

Предпосылки

Прежде чем начать, убедитесь, что в вашем проекте Java настроен API Aspose.Words for Java.

Варианты объединения документов

Простое добавление

Document srcDoc = new Document("source.docx");
Document dstDoc = new Document("destination.docx");
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);

Добавить с параметрами формата импорта

ImportFormatOptions options = new ImportFormatOptions();
options.setKeepSourceNumbering(true);
dstDoc.appendDocument(srcDoc, ImportFormatMode.USE_DESTINATION_STYLES, options);

Добавить к пустому документу

Document srcDoc = new Document("source.docx");
Document dstDoc = new Document();
dstDoc.removeAllChildren();
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);

Добавить с преобразованием номера страницы

Document srcDoc = new Document("source.docx");
Document dstDoc = new Document("destination.docx");
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);
convertNumPageFieldsToPageRef(dstDoc); // Преобразование полей NUMPAGES
dstDoc.updatePageLayout(); // Обновите макет страницы для правильной нумерации.

Обработка различных настроек страницы

При добавлении документов с разными настройками страниц:

srcDoc.getFirstSection().getPageSetup().setSectionStart(SectionStart.CONTINUOUS);
srcDoc.getFirstSection().getPageSetup().setRestartPageNumbering(true);
// Убедитесь, что настройки страницы соответствуют целевому документу.

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

dstDoc.appendDocument(srcDoc, ImportFormatMode.USE_DESTINATION_STYLES);

Разумный стиль поведения

ImportFormatOptions options = new ImportFormatOptions();
options.setSmartStyleBehavior(true);
builder.insertDocument(srcDoc, ImportFormatMode.USE_DESTINATION_STYLES, options);

Вставка документов с помощью DocumentBuilder

DocumentBuilder builder = new DocumentBuilder(dstDoc);
builder.insertDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);

Сохранение нумерации источников

ImportFormatOptions importFormatOptions = new ImportFormatOptions();
importFormatOptions.setKeepSourceNumbering(true);
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING, importFormatOptions);

Обработка текстовых полей

ImportFormatOptions importFormatOptions = new ImportFormatOptions();
importFormatOptions.setIgnoreTextBoxes(false);
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING, importFormatOptions);

Управление верхними и нижними колонтитулами

Связывание верхних и нижних колонтитулов

srcDoc.getFirstSection().getHeadersFooters().linkToPrevious(true);
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);

Отключение верхних и нижних колонтитулов

srcDoc.getFirstSection().getHeadersFooters().linkToPrevious(false);
dstDoc.appendDocument(srcDoc, ImportFormatMode.KEEP_SOURCE_FORMATTING);

Заключение

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

Часто задаваемые вопросы

Как можно легко объединить документы с разными стилями?

Чтобы объединить документы с разными стилями, используйтеImportFormatMode.USE_DESTINATION_STYLES при добавлении.

Можно ли сохранить нумерацию страниц при добавлении документов?

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

Что такое разумный стиль поведения?

Smart Style Behavior помогает поддерживать единообразные стили при добавлении документов. Используйте его сImportFormatOptions для достижения лучших результатов.

Как работать с текстовыми полями при добавлении документов?

НаборimportFormatOptions.setIgnoreTextBoxes(false) для включения текстовых полей при добавлении.

Что делать, если я хочу связать/отсоединить верхние и нижние колонтитулы между документами?

Вы можете связать верхние и нижние колонтитулы сlinkToPrevious(true) или отсоединить их отlinkToPrevious(false) по мере необходимости.