إدراج المستندات وإلحاقها
في بعض الأحيان يكون مطلوبا دمج عدة مستندات في مستند واحد. يمكنك القيام بذلك يدويا أو يمكنك استخدام Aspose.Words إدراج أو إلحاق الميزة.
تتيح لك عملية الإدراج إدراج محتوى المستندات التي تم إنشاؤها مسبقا في مستند جديد أو موجود.
في المقابل، تتيح لك ميزة الإلحاق إضافة مستند فقط في نهاية مستند آخر.
تشرح هذه المقالة كيفية إدراج مستند أو إلحاقه بمستند آخر بطرق مختلفة وتصف الخصائص الشائعة التي يمكنك تطبيقها أثناء إدراج المستندات أو إلحاقها.
أدخل وثيقة
كما ذكر أعلاه، في Aspose.Words يتم تمثيل المستند كشجرة من العقد، وعملية إدراج مستند في آخر هي نسخ العقد من شجرة المستند الأولى إلى الثانية.
يمكنك إدراج المستندات في مجموعة متنوعة من المواقع بطرق مختلفة. على سبيل المثال، يمكنك إدراج مستند من خلال عملية استبدال أو حقل دمج أثناء عملية دمج أو عبر إشارة مرجعية.
يمكنك أيضا استخدام طريقة InsertDocument أو InsertDocumentInline، والتي تشبه إدراج مستند في Microsoft Word، لإدراج مستند كامل في موضع المؤشر الحالي دون أي استيراد سابق.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج مستند باستخدام طريقة InsertDocument:
يوضح مثال التعليمات البرمجية التالية كيفية إدراج مستند باستخدام طريقة InsertDocumentInline:
تصف الأقسام الفرعية التالية الخيارات التي يمكنك خلالها إدراج مستند في مستند آخر.
أدخل مستندا أثناء عملية البحث والاستبدال
يمكنك إدراج المستندات أثناء إجراء عمليات البحث والاستبدال. على سبيل المثال، يمكن أن يحتوي المستند على فقرات بالنص [INTRODUCTION] و [CONCLUSION]. لكن في المستند النهائي، تحتاج إلى استبدال تلك الفقرات بالمحتوى الذي تم الحصول عليه من مستند خارجي آخر. لتحقيق ذلك، سوف تحتاج إلى إنشاء معالج للحدث استبدال.
يوضح مثال التعليمات البرمجية التالية كيفية إنشاء معالج للحدث استبدال لاستخدامه لاحقا في عملية الإدراج:
يوضح مثال الكود التالي كيفية إدراج محتوى مستند إلى آخر أثناء عملية البحث والاستبدال:
أدخل مستندا أثناء عملية Mail Merge
يمكنك إدراج مستند في حقل دمج أثناء عملية Mail Merge. على سبيل المثال، يمكن أن يحتوي قالب Mail Merge على حقل دمج مثل [ملخص]. ولكن في المستند النهائي، تحتاج إلى إدراج محتوى تم الحصول عليه من مستند خارجي آخر في حقل الدمج هذا. لتحقيق ذلك، سوف تحتاج إلى إنشاء معالج لحدث الدمج.
يوضح مثال التعليمات البرمجية التالية كيفية إنشاء معالج لحدث الدمج لاستخدامه لاحقا في عملية الإدراج:
يوضح مثال التعليمات البرمجية التالية كيفية إدراج مستند في حقل الدمج باستخدام المعالج الذي تم إنشاؤه:
أدخل مستندا في إشارة مرجعية
يمكنك استيراد ملف نصي إلى مستند وإدراجه مباشرة بعد الإشارة المرجعية التي حددتها في المستند. للقيام بذلك، قم بإنشاء فقرة مرجعية حيث تريد إدراج المستند.
يوضح مثال الترميز التالي كيفية إدراج محتويات مستند إلى إشارة مرجعية في مستند آخر:
إلحاق مستند
قد يكون لديك حالة استخدام حيث تحتاج إلى تضمين صفحات إضافية من مستند إلى نهاية مستند موجود. للقيام بذلك، تحتاج فقط إلى استدعاء طريقة AppendDocument لإضافة مستند إلى نهاية مستند آخر.
يوضح مثال التعليمات البرمجية التالية كيفية إلحاق مستند إلى نهاية مستند آخر:
استيراد وإدراج العقد يدويا
Aspose.Words يسمح لك بإدراج وإلحاق المستندات تلقائيا دون أي متطلبات استيراد سابقة. ومع ذلك، إذا كنت بحاجة إلى إدراج أو إلحاق عقدة معينة من المستند، مثل قسم أو فقرة، فأنت بحاجة أولا إلى استيراد هذه العقدة يدويا.
عندما تحتاج إلى إدراج أو إلحاق قسم أو فقرة إلى أخرى، تحتاج أساسا إلى استيراد العقد من شجرة عقدة الوثيقة الأولى في الثانية باستخدام طريقة ImportNode. بعد استيراد العقد الخاصة بك، تحتاج إلى استخدام طريقة InsertAfter لإدراج عقدة جديدة بعد/قبل العقدة المرجعية. يتيح لك ذلك تخصيص عملية الإدراج عن طريق استيراد العقد من مستند وإدخالها في مواضع معينة.
يمكنك أيضا استخدام طريقة 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 لتحديد ما إذا كان المحتوى المضاف سيظهر على نفس الصفحة أو ينقسم إلى صفحة جديدة.
يوضح مثال الكود التالي كيفية إلحاق مستند بآخر مع الحفاظ على المحتوى من الانقسام عبر صفحتين: