وارد کردن گره‌ها با NodeImporter

وارد کردن گره‌ها با NodeImporter

وارد کردن گره‌ها با NodeImporter

این راهنما نشان می‌دهد چگونه محتوا را بین دو متفاوت مختلف منتقل کنید Document نمونه‌ها در Aspose.Words FOSS برای .NET با استفاده از NodeImporter کلاس و دقیق‌المقیاس ImportFormatOptions, برای سناریوهایی که نیاز به وارد کردن تعداد زیادی گره به‌صورت کارآمد دارید یا کنترل رفتار واردات فراتر از ImportFormatMode انتخاب. برای ساده‌تر Document.ImportNode, Document.AppendDocument، و DocumentBuilder.InsertDocument متدهای راحتی، مراجعه کنید به کار با اسناد راهنما.


NodeImporter: واردات مکرر بدون تنظیمات مکرر

NodeImporter برای واردات مکرر گره‌ها از یک سند به سند دیگر ساخته شده است و هزینه تنظیم برای هر فراخوانی در یک واردات یک‌بار مصرف را حذف می‌کند. یک نمونه را با new NodeImporter(srcDoc, dstDoc, importFormatMode) — یا بارگذاری بیشینه new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) برای کنترل دقیق‌تر — یک‌بار بسازید، سپس ImportNode(srcNode, isImportChildren) را بر روی همان نمونه برای هر گره‌ای که باید منتقل کنید، صدا بزنید. استفاده مجدد از یک نمونه NodeImporter در فراخوانی‌های متعدد، هزینه تنظیمی را که یک واردات راحت برای هر فراخوانی به‌وجود می‌آورد، جلوگیری می‌کند.


کنترل دقیق واردات با ImportFormatOptions

ImportFormatOptions گزینهٔ پایه‌ای ImportFormatMode (UseDestinationStyles، KeepSourceFormatting، KeepDifferentStyles) را با سوئیچ‌های دقیق‌تری تکمیل می‌کند: SmartStyleBehavior (bool) نحوهٔ واردات سبک‌هایی با نام‌های برابر در منبع و مقصد را کنترل می‌کند. KeepSourceNumbering (bool) نحوهٔ واردات شماره‌گذاری را وقتی بین منبع و مقصد تداخل دارد، تنظیم می‌کند. IgnoreTextBoxes و IgnoreHeaderFooter (bool) قالب‌بندی منبع را برای محتوای جعبهٔ متن و سرصفحه/پاورقی به‌طور خاص زمانی که KeepSourceFormatting فعال باشد، سرکوب می‌کنند. MergePastedLists (bool) فهرست‌های چسبانده‌شده را با فهرست‌های اطراف ادغام می‌کند به‌جای اینکه جدا بمانند. ForceCopyStyles (bool) سبک‌های متضاد را کپی می‌کند به‌جای استفاده مجدد از نسخهٔ مقصد، در حالت KeepSourceFormatting. AdjustSentenceAndWordSpacing (bool) به‌صورت خودکار فاصله‌ها را تنظیم می‌کند. AppendDocumentWithNewPage (bool) نوع اولین بخش وارد شده را به NewPage مجبور می‌کند.


نکات و بهترین شیوه‌ها

  • یک نمونهٔ NodeImporter واحد ایجاد کنید و آن را در طول یک حلقه از فراخوانی‌های ImportNode هنگام وارد کردن گره‌های متعدد دوباره استفاده کنید — ساخت یک واردکننده جدید برای هر گره، کار تنظیم را به‌صورت غیرضروری تکرار می‌کند.
  • یک نمونهٔ ImportFormatOptions را به overload سازندهٔ NodeImporter پاس دهید وقتی گزینهٔ سادهٔ ImportFormatMode به اندازه کافی دقیق نیست — برای مثال، برای حفظ شماره‌گذاری فهرست منبع با KeepSourceNumbering در حالی که همچنان به‌صورت کلی از KeepSourceFormatting استفاده می‌کنید.
  • زمانی که KeepSourceFormatting استایل منبع بیشتری نسبت به آنچه برای فقط آن نوع محتوا می‌خواهید می‌آورد، IgnoreTextBoxes یا IgnoreHeaderFooter را تنظیم کنید.
  • NodeImporter.ImportNode(srcNode, isImportChildren) امضای فراخوانی واردات در سطح سند و رفتار آن را بازتاب می‌دهد؛ تفاوت در کارایی بازاستفاده است، نه در معنای واردات.

مشکلات رایج

مشکلدلیلرفع
وارد کردن مکرر گره‌های متعدد، کند استیک فراخوانی واردات راحت برای هر گره استفاده می‌شود به‌جای یک NodeImporter که دوباره استفاده می‌شودیک NodeImporter واحد بسازید و برای هر گره، ImportNode را روی آن فراخوانی کنید
شماره‌گذاری فهرست به‌طور غیرمنتظره پس از وارد کردن بازنشانی می‌شودImportFormatOptions.KeepSourceNumbering تنظیم نشده بودساخت NodeImporter با یک نمونه ImportFormatOptions که در صورت نیاز KeepSourceNumbering را تنظیم می‌کند
متن جعبه یا محتوای سرصفحه/پاورقی قالب‌بندی ناخواسته منبع را دریافت می‌کندحالت KeepSourceFormatting به‌صورت پیش‌فرض سبک منبع را به‌طور گسترده اعمال می‌کندمقدار IgnoreTextBoxes یا IgnoreHeaderFooter را بر روی ImportFormatOptions که به NodeImporter پاس داده شده تنظیم کنید

FAQ

کی باید به جای یک فراخوانی واردات واحد از NodeImporter استفاده کنم؟

هنگام وارد کردن گره‌های متعدد در یک حلقه — یک NodeImporter را از ابتدا بسازید و ImportNode را به‌طور مکرر فراخوانی کنید، به‌جای اینکه هزینهٔ تنظیم را در هر فراخوانی پرداخت کنید.

چه چیزی ImportFormatOptions اضافه می‌کند که فراتر از ImportFormatMode باشد؟

سوئیچ‌های دقیق‌تری مانند SmartStyleBehavior، KeepSourceNumbering، IgnoreTextBoxes، IgnoreHeaderFooter، MergePastedLists، ForceCopyStyles، AdjustSentenceAndWordSpacing و AppendDocumentWithNewPage که بر پایه انتخاب ImportFormatMode پایه قرار می‌گیرند.

آیا NodeImporter.ImportNode رفتار متفاوتی نسبت به وارد کردن در سطح سند دارد؟

نه — هر دو یک گره منبع و یک پرچم isImportChildren می‌گیرند و آن را به سند مقصد وارد می‌کنند؛ NodeImporter وجود دارد تا تنظیمات یک‌بار انجام شود و در فراخوانی‌های متعدد دوباره استفاده شود.

چگونه می‌توانم شماره‌گذاری فهرست سند منبع را هنگام وارد کردن دست‌نخورده نگه دارم؟

یک NodeImporter را با یک ImportFormatOptions بسازید که در آن KeepSourceNumbering برابر با true باشد.


خلاصه API Reference

کلاس/متدتوضیح
NodeImporterدر هر بار فراخوانی، واردات مکرر گره‌ها از یک سند به سند دیگر را انجام می‌دهد و تنظیمات را مجدداً استفاده می‌کند
NodeImporter(srcDoc, dstDoc, importFormatMode)سازنده برای واردات پایه‌ای فقط با حالت-فرمت-واردات
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions)سازنده‌ای که ImportFormatOptions ریزدانه را می‌پذیرد
NodeImporter.ImportNode(srcNode, isImportChildren)یک گره را از سند منبع به سند مقصد وارد می‌کند
ImportFormatOptionsتنظیمات واردات ریزدانه که بر روی ImportFormatMode لایه‌بندی شده‌اند
ImportFormatOptions.SmartStyleBehaviorچگونگی وارد شدن سبک‌های هم‌نام
ImportFormatOptions.KeepSourceNumberingنحوه وارد کردن شماره‌گذاری‌های متناقض
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooterقالب‌بندی منبع را برای جعبه‌های متن / سرصفحه‌ها و پاورقی‌ها تحت KeepSourceFormatting حذف می‌کند
ImportFormatOptions.MergePastedListsفهرست‌های چسبانده‌شده را با فهرست‌های اطراف ترکیب می‌کند
ImportFormatOptions.ForceCopyStylesبه‌جای استفاده مجدد از نسخه مقصد، سبک‌های متناقض را کپی می‌کند
ImportFormatOptions.AppendDocumentWithNewPageنوع اولین بخش واردشده را به NewPage تحمیل می‌کند

همچنین ببینید:

 فارسی