ملحقات الويب
ملحقات الويب
يوضح هذا الدليل كيفية قراءة وتعديل بيانات تعريف لوحة مهام إضافات Office المدمجة في ملف .docx باستخدام Aspose.Words FOSS لـ .NET. يمكن لـ Aspose.Words FOSS لـ .NET قراءة وتعديل ملحق الويب (إضافة Office) للوحات المهام المدمجة في ملف .docx — البيانات التعريفية التي تربط مستندًا بإضافة Office وتربطه ببيانات المستند — عبر Document.WebExtensionTaskPanes ونموذج الكائنات TaskPane/WebExtension.
لوحات المهام
يقوم Document.WebExtensionTaskPanes بإرجاع TaskPaneCollection من كائنات TaskPane. كل TaskPane يصف مكان وكيفية تثبيت لوحة الإضافة: DockState (TaskPaneDockState من Right أو Left)، Row، Width، IsLocked، وIsVisible، بالإضافة إلى خاصية WebExtension التي تربط بالإضافة نفسها.
هوية ملحق الويب والمراجع
يقوم WebExtension بتحديد الإضافة عبر Id وIsFrozen، وتكشف خاصية Reference الخاصة به (WebExtensionReference) عن Id وVersion وStore وStoreType (WebExtensionStoreType مثل SPCatalog وExchange أو FileSystem) التي تصف مصدر توزيع الإضافة. يحتوي AlternateReferences على WebExtensionReferenceCollection من المراجع الاحتياطية.
الارتباطات والخصائص المخصصة
WebExtension.Bindings هو WebExtensionBindingCollection من كائنات WebExtensionBinding، كل منها مُنشأ كـ new WebExtensionBinding(id, bindingType, appRef) ويربط جزءًا من بيانات المستند بالإضافة عبر WebExtensionBindingType (Matrix، Table أو Text). WebExtension.Properties هو WebExtensionPropertyCollection من أزواج الاسم/القيمة البسيطة WebExtensionProperty، مُنشأ كـ new WebExtensionProperty(name, value)، يُستخدم لإعدادات مخصصة خاصة بالإضافة لا تستدعي ربطًا كاملاً.
عضوية المجموعة
يتشارك TaskPaneCollection وWebExtensionBindingCollection وWebExtensionPropertyCollection وWebExtensionReferenceCollection جميعًا نفس سلوك التجميع الأساسي: Add(item)، Clear()، Remove(index)، GetEnumerator()، وCount.
نصائح وأفضل الممارسات
- تحقق من
TaskPane.IsVisibleقبل الافتراض أن لوحة الإضافة معروضة حاليًا للمستخدم — يمكن تسجيل لوحة مهام ولكن تكون مخفية. WebExtensionReference.StoreTypeيخبرك من أين تم الحصول على الإضافة (كتالوج، Exchange، نظام الملفات، السجل)؛ استخدمه للتمييز بين الإضافات الأصلية وتلك التي تم تحميلها بشكل جانبي.- الارتباطات تربط
WebExtensionBindingTypeمحدد (مصفوفة، جدول، أو نص عادي) ببيانات المستند — تحقق من نوع الارتباط قبل الافتراض ما هو شكل البيانات التي تتوقعها الإضافة. - استخدم
WebExtension.Propertiesلقيم تكوين الإضافة البسيطة من نوع الاسم/القيمة بدلاً من محاولة تخزينها في مكان آخر داخل المستند.
المشكلات الشائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
Document.WebExtensionTaskPanes فارغ | المستند لا يحتوي على أي إضافات Office مسجلة | تحقق من أن المصدر .docx يضم فعليًا لوحة مهام قبل افتراض أن API معطوب |
| لا يمكن معرفة المتجر الذي جاءت منه الإضافة | StoreType غير مُفحص | اقرأ WebExtensionReference.StoreType جنبًا إلى جنب مع Store للحصول على الصورة الكاملة |
| بيانات الربط لا تتطابق مع التوقعات | عدم توافق نوع الربط | تحقق من WebExtensionBinding.BindingType (Matrix, Table, Text) قبل استهلاك البيانات المرتبطة |
FAQ
كيف يمكنني العثور على جميع الإضافات الخاصة بـ Office المسجلة في مستند؟
عدّ Document.WebExtensionTaskPanes (a TaskPaneCollection); كل TaskPane.WebExtension يمنحك هوية الإضافة وتكوينها.
هل يمكنني إضافة ربط امتداد ويب جديد أو خاصية باستخدام هذا API؟
نعم — المجموعات (WebExtensionBindingCollection, WebExtensionPropertyCollection, إلخ) تدعم Add()، لذا يمكنك إنشاء وإضافة كائنات WebExtensionBinding/WebExtensionProperty جديدة إلى WebExtension موجود.
ماذا يقوم WebExtensionBinding بربطه فعليًا؟
إنه يربط جزءًا من بيانات المستند بالإضافة، باستخدام WebExtensionBindingType (Matrix، Table أو Text) لوصف بنية تلك البيانات.
كيف يمكنني قراءة إعدادات الإضافة المخصصة المخزنة في المستند؟
تكرار WebExtension.Properties (a WebExtensionPropertyCollection); كل WebExtensionProperty يعرض زوج Name/Value.
API Reference ملخص
| الصنف / الطريقة | وصف |
|---|---|
Document.WebExtensionTaskPanes | TaskPaneCollection من ألواح المهام المسجلة في المستند |
TaskPane | لوحة إضافة واحدة: DockState, Row, Width, IsVisible, IsLocked, WebExtension |
WebExtension | هوية الإضافة: Id, IsFrozen, Reference, Bindings, Properties |
WebExtensionReference | مصدر الإضافة: Id, Version, Store, StoreType |
WebExtensionBinding | يربط بيانات المستند بالإضافة عبر WebExtensionBindingType |
WebExtensionProperty | إعداد مخصص للإضافة كزوج Name/Value |