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

Понякога е необходимо да се комбинират няколко документа в един. Можете да направите това ръчно или можете да използвате Aspose.Words вмъкване или добавяне на функция.

Операцията за вмъкване ви позволява да въведете съдържанието на предварително създадените документи в нов или съществуващ.

От своя страна, функцията за добавяне ви позволява да добавяте документ само в края на друг документ.

Тази статия обяснява как да се вмъкне или да се добави документ към друг по различни начини и описва общите свойства, които можете да приложите, докато вмъквате или добавяте документи.

Вмъкване на документ

Както бе споменато по- горе, в Aspose.Words документ е представен като дърво от възли, а действието на поставянето на един документ в друг е копиране на възли от първото дърво на документа до второто.

Можете да поставите документи по различни начини. Например, можете да поставите документ чрез замяна операция, сливане поле по време на сливане операция, или чрез отметки.

Можете също така да използвате InsertDocument или InsertDocumentInline метод, който е подобен на въвеждането на документ в Microsoft Word, да се въведе цял документ в текущата позиция на курсора без никакъв предишен внос.

Следният пример с код показва как да се вмъкне документ с помощта на InsertDocument метод:

Следният пример с код показва как да се вмъкне документ с помощта на InsertDocumentInline метод:

Следните подраздели описват опциите, по време на които можете да поставите един документ в друг.

Вмъкване на документ по време на операция за намиране и замяна

Можете да вмъквате документи при извършване на намиране и замяна на операции. Например документът може да съдържа параграфи с текста [INTROUCTION] и [CONCLUSION]. Но в окончателния документ трябва да замените тези параграфи със съдържанието, получено от друг външен документ. За да постигнете това, ще трябва да създадете наставник за заместващото събитие.

Следният пример за код показва как да се създаде наставник за заместващото събитие да го използва по-късно в процеса на вмъкване:

Следният пример за код показва как се вмъква съдържанието на един документ в друг по време на операция за намиране и замяна:

Вмъкване на документ по време на Mail Merge Операция

Можете да поставите документ в сливане поле по време на mail merge операция. Например, mail merge шаблонът може да съдържа сливащо се поле като [Summary]. Но в последния документ трябва да вмъкнете съдържание, получено от друг външен документ в това поле за сливане. За да постигнете това, ще трябва да създадете наставник за сливането.

Следният пример за код показва как да се създаде наставник за сливането събитие да го използва по-късно в процеса на вмъкване:

Следният пример за код показва как да се вмъкне документ в сливащото поле, като се използва създаденият наставник:

Вмъкване на документ в отметките

Можете да импортирате текстов файл в документ и да го поставите веднага след отметките, които сте определили в документа. За да направите това, създайте отметки, където искате да бъде поставен документът.

Следният пример за кодиране показва как да се вмъкне съдържанието на един документ в отметки в друг документ:

Добавяне на документ

Може да имате случай на използване, когато трябва да включите допълнителни страници от документ до края на съществуващ документ. За да направите това, просто трябва да се обадите на 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 свойство за определяне дали добавеното съдържание ще се появи на същата страница или ще се раздели на нова.

Следният пример за код показва как да се добави един документ към друг, като същевременно се запази съдържанието от разделяне на две страници: