Вставка та додавання документів
Іноді потрібно об’єднати кілька документів в один. Ви можете зробити це вручну або скористатися функцією вставки або додавання Aspose.Words.
Операція вставки дозволяє вставляти вміст раніше створених документів у новий або існуючий.
У свою чергу, функція додавання дозволяє додавати документ лише в кінці іншого документа.
У цій статті пояснюється, як вставляти або приєднувати один документ до іншого різними способами, а також описуються загальні властивості, які можна застосовувати при вставці або додаванні документів.
Вставка документа
Як згадувалося вище, в Aspose.Words документ представлений у вигляді дерева вузлів, і операція вставки одного документа в інший полягає в копіюванні вузлів з першого дерева документів у друге.
Ви можете вставляти документи в різні місця різними способами. Наприклад, ви можете вставити документ за допомогою операції заміни, поля об’єднання під час операції об’єднання або за допомогою закладки.
Ви також можете використовувати метод InsertDocument, подібний до вставки документа в Microsoft Word, щоб вставити весь документ у поточне положення курсору без попереднього імпорту.
Наступний приклад коду показує, як вставити документ за допомогою методу InsertDocument
:
У наступних підрозділах описані параметри, за допомогою яких ви можете вставляти один документ в інший.
Вставте документ під час операції пошуку та заміни
Ви можете вставляти документи під час виконання операцій пошуку і заміни. Наприклад, документ може містити абзаци з текстом [INTRODUCTION] та [CONCLUSION]. Але в кінцевому документі вам потрібно замінити ці абзаци вмістом, отриманим з іншого зовнішнього документа. Щоб досягти цього, вам потрібно буде створити обробник для події replace.
Наступний приклад коду показує, як створити обробник для події заміни, щоб використовувати його пізніше в процесі вставки:
Наступний приклад коду показує, як вставити вміст одного документа в інший під час операції пошуку та заміни:
Вставка документа під час операції Mail Merge
Ви можете вставити документ у поле для об’єднання під час операції Mail Merge. Наприклад, шаблон Mail Merge може містити поле для об’єднання, таке як [підсумок]. Але в кінцевому документі вам потрібно вставити вміст, отриманий з іншого зовнішнього документа, у це поле для об’єднання. Щоб досягти цього, вам потрібно буде створити обробник для події злиття.
Наступний приклад коду показує, як створити обробник для події злиття, щоб використовувати його пізніше в процесі вставки:
Наступний приклад коду показує, як вставити документ у поле злиття за допомогою створеного обробника:
Вставте документ у закладку
Ви можете імпортувати текстовий файл у документ і вставити його відразу після закладки, яку ви визначили в документі. Для цього створіть абзац із закладкою, куди потрібно вставити документ.
Наступний приклад кодування показує, як вставити вміст одного документа в закладку в іншому документі:
Додавання документа
Можливо, у вас є варіант використання, коли Вам потрібно додати додаткові сторінки з документа до кінця існуючого документа. Для цього вам просто потрібно викликати метод AppendDocument, щоб додати документ до кінця іншого документа.
Наступний приклад коду показує, як додати документ до кінця іншого документа:
Імпортуйте та вставляйте вузли вручну
Aspose.Words дозволяє автоматично вставляти та доповнювати документи без будь-яких попередніх вимог до імпорту. Однак, якщо вам потрібно вставити або доповнити певний вузол документа, наприклад розділ або абзац, спочатку потрібно імпортувати цей вузол вручну.
Коли Вам потрібно вставити або доповнити один розділ або абзац іншим, Вам, по суті, потрібно імпортувати вузли першого дерева вузлів документа до другого, використовуючи метод ImportNode. Після імпорту вузлів вам потрібно використовувати метод InsertAfter/InsertBefore, щоб вставити новий вузол після/перед посилальним вузлом. Це дозволяє налаштувати процес вставки, імпортуючи вузли з документа та вставляючи їх у задані позиції.
Ви також можете використовувати метод AppendChild, щоб додати новий вказаний вузол до кінця списку дочірніх вузлів, наприклад, якщо ви хочете додати вміст на рівні абзацу, а не на рівні розділу.
Наступний приклад коду показує, як вручну імпортувати вузли та вставляти їх після певного вузла, використовуючи метод InsertAfter:
Вміст імпортується до цільового документа за розділами, що означає, що імпорт зберігає такі параметри, як налаштування сторінки та колонтитули. Також корисно відзначити, що ви можете задати параметри форматування при вставці або додаванні документа, щоб вказати, як два документи будуть об’єднані.
Загальні властивості для вставки та додавання документів
Як InsertDocument, так і AppendDocument методи приймають ImportFormatMode та ImportFormatOptions як вхідні параметри. Функція ImportFormatMode дозволяє управляти об’єднанням форматування документів при імпорті вмісту з одного документа в інший, вибираючи різні режими форматування, такі як UseDestinationStyles, KeepSourceFormatting і KeepDifferentStyles. Параметр ImportFormatOptions дозволяє вибрати різні параметри імпорту, такі як IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, і SmartStyleBehavior.
Aspose.Words дозволяє налаштувати візуалізацію результуючого документа при об’єднанні двох документів в операції вставки або додавання за допомогою властивостей Section і PageSetup. Властивість PageSetup містить усі атрибути розділу, такі як SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, та інші. Найпоширенішим варіантом використання є встановлення властивості SectionStart, яка визначає, чи буде доданий вміст відображатися на тій самій сторінці чи буде розділений на нову.
Наступний приклад коду показує, як додати один документ до іншого, не розділяючи вміст на дві сторінки: