افزونه‌های وب

افزونه‌های وب

این راهنما نشان می‌دهد چگونه می‌توان متادیتای پنل وظیفه افزونه Office را که در یک فایل .docx جاسازی شده است، با Aspose.Words FOSS برای .NET خواند و تغییر داد. Aspose.Words FOSS برای .NET می‌تواند پنل‌های وظیفه افزونه وب (Office Add-in) که در یک فایل .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 ثبت‌شده‌ای نداردقبل از این که فرض کنید API خراب است، تأیید کنید منبع .docx واقعاً یک پنل کار را در خود دارد
نمی‌توان تشخیص داد افزونه از کدام فروشگاه آمده استStoreType بررسی نشدهبرای درک کامل، WebExtensionReference.StoreType را همراه با Store بخوانید
داده‌های بایندینگ با انتظارات مطابقت ندارندعدم تطابق نوع بایندینگقبل از استفاده از داده‌های باند شده، WebExtensionBinding.BindingType (Matrix، Table، Text) را بررسی کنید

FAQ

چگونه می‌توانم تمام افزونه‌های Office ثبت شده در یک سند را پیدا کنم؟

مجموعه Document.WebExtensionTaskPanes (یک TaskPaneCollection) را فهرست کنید؛ هر TaskPane.WebExtension هویت و پیکربندی افزونه را به شما می‌دهد.

آیا می‌توانم یک بایندینگ یا ویژگی جدید افزونه وب را با این API اضافه کنم؟

بله — مجموعه‌ها (WebExtensionBindingCollection، WebExtensionPropertyCollection و غیره) از Add() پشتیبانی می‌کنند، بنابراین می‌توانید اشیاء جدید WebExtensionBinding/WebExtensionProperty را به یک WebExtension موجود بسازید و اضافه کنید.

در واقع WebExtensionBinding چه چیزی را بایند می‌کند؟

این یک بخش از داده‌های سند را به افزونه متصل می‌کند، با استفاده از یک WebExtensionBindingType (Matrix، Table یا Text) برای توصیف قالب آن داده.

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

بر WebExtension.Properties تکرار کنید (یک WebExtensionPropertyCollection)؛ هر WebExtensionProperty یک جفت Name/Value را نمایش می‌دهد.


API Reference خلاصه

کلاس / متدتوضیحات
Document.WebExtensionTaskPanesTaskPaneCollection پنل‌های کاری ثبت‌شده در سند
TaskPaneیک پنل افزونه: DockState, Row, Width, IsVisible, IsLocked, WebExtension
WebExtensionهویت افزونه: Id, IsFrozen, Reference, Bindings, Properties
WebExtensionReferenceمنبع افزونه: Id, Version, Store, StoreType
WebExtensionBindingداده‌های سند را از طریق WebExtensionBindingType به افزونه پیوند می‌دهد
WebExtensionPropertyتنظیم سفارشی افزونه به صورت جفت Name/Value

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

 فارسی