استيراد العقد باستخدام 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 إلى التحميل الزائد للمنشئ NodeImporter عندما لا يكون اختيار ImportFormatMode العادي دقيقًا بما فيه الكفاية — على سبيل المثال، للحفاظ على ترقيم قائمة المصدر باستخدام KeepSourceNumbering مع الاستمرار في استخدام KeepSourceFormatting بشكل عام.
  • قم بتعيين IgnoreTextBoxes أو IgnoreHeaderFooter عندما يجلب KeepSourceFormatting تنسيق مصدر أكثر مما تريد لتلك الأنواع من المحتوى فقط.
  • 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

انظر أيضاً

 العربية