درج و الحاق اسناد
گاهی اوقات لازم است چندین سند را در یک سند ترکیب کنید. می توانید این کار را به صورت دستی انجام دهید یا می توانید از ویژگی درج یا ضمیمه Aspose.Words استفاده کنید.
عملیات درج به شما امکان می دهد محتوای اسناد ایجاد شده قبلی را در اسناد جدید یا موجود درج کنید.
به نوبه خود، ویژگی الحاق به شما امکان می دهد یک سند را فقط در انتهای یک سند دیگر اضافه کنید.
این مقاله نحوه درج یا الحاق یک سند به سند دیگر را به روشهای مختلف توضیح میدهد و ویژگیهای رایجی را که میتوانید هنگام درج یا الحاق اسناد اعمال کنید، توضیح میدهد.
یک سند {#insert-a-document} را وارد کنید
همانطور که در بالا ذکر شد، در Aspose.Words یک سند به صورت درختی از گره ها نشان داده می شود و عملیات درج یک سند در سند دیگر، کپی کردن گره ها از درخت سند اول به دومین درخت است.
شما می توانید اسناد را در مکان های مختلف به روش های مختلف وارد کنید. به عنوان مثال، می توانید یک سند را از طریق عملیات جایگزینی، یک فیلد ادغام در طول عملیات ادغام یا از طریق یک نشانک وارد کنید.
همچنین میتوانید از روش InsertDocument یا InsertDocumentInline، که شبیه درج یک سند در Microsoft Word است، برای درج یک سند کامل در موقعیت مکاننمای فعلی بدون وارد کردن قبلی استفاده کنید.
مثال کد زیر نحوه درج یک سند با استفاده از روش InsertDocument را نشان می دهد:
مثال کد زیر نحوه درج یک سند با استفاده از روش InsertDocumentInline را نشان می دهد:
بخشهای فرعی زیر گزینههایی را توضیح میدهند که طی آن میتوانید یک سند را در سند دیگر وارد کنید.
در حین عملیات یافتن و جایگزینی {#insert-a-document-during-find-and-replace-operation} یک سند وارد کنید
هنگام انجام عملیات یافتن و جایگزینی می توانید اسناد را وارد کنید. به عنوان مثال، یک سند می تواند شامل پاراگراف هایی با متن [مقدمه] و [نتیجه گیری] باشد. اما در سند نهایی باید آن پاراگراف ها را با محتوای بدست آمده از یک سند خارجی دیگر جایگزین کنید. برای دستیابی به آن، باید یک هندلر برای رویداد جایگزین ایجاد کنید.
مثال کد زیر نحوه ایجاد یک کنترل کننده برای رویداد جایگزین را نشان می دهد تا بعداً از آن در فرآیند درج استفاده شود:
مثال کد زیر نشان می دهد که چگونه محتوای یک سند را در طی عملیات Find and جایگزینی در سند دیگر وارد کنید:
در حین عملیات Mail Merge {#insert-a-document-during-mail-merge-operation} یک سند وارد کنید
شما می توانید یک سند را در یک فیلد ادغام در طول عملیات mail merge وارد کنید. برای مثال، یک الگوی mail merge میتواند شامل یک فیلد ادغام مانند [خلاصه] باشد. اما در سند نهایی، باید محتوای به دست آمده از یک سند خارجی دیگر را در این فیلد ادغام درج کنید. برای رسیدن به آن، باید یک کنترل کننده برای رویداد ادغام ایجاد کنید.
مثال کد زیر نحوه ایجاد یک کنترل کننده برای رویداد ادغام را نشان می دهد تا بعداً از آن در فرآیند درج استفاده شود:
مثال کد زیر نحوه درج یک سند را در فیلد ادغام با استفاده از کنترل کننده ایجاد شده نشان می دهد:
یک سند در نشانک {#insert-a-document-at-bookmark} وارد کنید
می توانید یک فایل متنی را در یک سند وارد کنید و آن را درست بعد از نشانکی که در سند تعریف کرده اید وارد کنید. برای انجام این کار، یک پاراگراف نشانه گذاری شده ایجاد کنید که می خواهید سند در آن درج شود.
مثال کدنویسی زیر نحوه درج محتوای یک سند را در یک نشانک در سند دیگر نشان می دهد:
یک سند {#append-a-document} را اضافه کنید
ممکن است یک مورد استفاده داشته باشید که در آن باید صفحات اضافی را از یک سند تا انتهای یک سند موجود اضافه کنید. برای این کار، فقط باید روش 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 برای تعیین اینکه آیا محتوای اضافه شده در همان صفحه ظاهر می شود یا به صفحه جدید تقسیم می شود، تنظیم می شود.
مثال کد زیر نشان میدهد که چگونه میتوان یک سند را به سند دیگر اضافه کرد و در عین حال از تقسیم محتوا در دو صفحه جلوگیری کرد: