Extensiones web
Extensiones web
Esta guía muestra cómo leer y modificar los metadatos del panel de tareas de Office Add-in incrustados en un archivo .docx con Aspose.Words FOSS para .NET. Aspose.Words FOSS para .NET puede leer y modificar los paneles de tareas de la extensión web (Office Add-in) incrustados en un archivo .docx — los metadatos que asocian un documento con un Office Add-in y lo vinculan a los datos del documento — a través de Document.WebExtensionTaskPanes y el modelo de objetos TaskPane/WebExtension.
Paneles de tareas
Document.WebExtensionTaskPanes devuelve un TaskPaneCollection de objetos TaskPane. Cada TaskPane describe dónde y cómo se acopla el panel de un add-in: DockState (un TaskPaneDockState de Right o Left), Row, Width, IsLocked y IsVisible, además de una propiedad WebExtension que enlaza al propio add-in.
Identidad y referencias de la extensión web
WebExtension identifica el add-in a través de Id y IsFrozen, y su propiedad Reference (un WebExtensionReference) expone Id, Version, Store y StoreType (un WebExtensionStoreType como SPCatalog, Exchange o FileSystem) que describen desde dónde se distribuye el add-in. AlternateReferences contiene un WebExtensionReferenceCollection de referencias de respaldo.
Vínculos y propiedades personalizadas
WebExtension.Bindings es un WebExtensionBindingCollection de objetos WebExtensionBinding, cada uno construido como new WebExtensionBinding(id, bindingType, appRef) y enlazando parte de los datos del documento al complemento a través de un WebExtensionBindingType (Matrix, Table o Text). WebExtension.Properties es un WebExtensionPropertyCollection de pares simples de nombre/valor WebExtensionProperty, construido como new WebExtensionProperty(name, value), usado para configuraciones personalizadas específicas del complemento que no justifican un enlace completo.
Membresía de la colección
TaskPaneCollection, WebExtensionBindingCollection, WebExtensionPropertyCollection y WebExtensionReferenceCollection comparten todos el mismo comportamiento básico de colección: Add(item), Clear(), Remove(index), GetEnumerator() y Count.
Consejos y mejores prácticas
- Verifique
TaskPane.IsVisibleantes de asumir que el panel de un complemento se muestra actualmente al usuario — un panel de tareas puede estar registrado pero oculto. WebExtensionReference.StoreTypele indica de dónde proviene un complemento (catálogo, Exchange, sistema de archivos, registro); utilícelo para distinguir los complementos de primera parte de los complementos cargados de forma lateral.- Los enlaces vinculan un
WebExtensionBindingTypeespecífico (matriz, tabla o texto plano) a los datos del documento — verifique el tipo de enlace antes de asumir qué forma de datos espera el complemento. - Utilice
WebExtension.Propertiespara valores simples de configuración de nombre/valor del complemento en lugar de intentar almacenarlos en otro lugar del documento.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
Document.WebExtensionTaskPanes está vacío | El documento no tiene Office Add-ins registrados | Confirme que la fuente .docx realmente incrusta un panel de tareas antes de asumir que el API está roto |
| No se puede determinar de qué tienda proviene un add-in | StoreType no está marcado | Lea WebExtensionReference.StoreType junto a Store para obtener la imagen completa |
| Los datos de Binding no coinciden con las expectativas | Tipo de binding no coincide | Verifique WebExtensionBinding.BindingType (Matrix, Table, Text) antes de consumir bound data |
FAQ
¿Cómo encuentro todos los complementos de Office registrados en un documento?
Enumere Document.WebExtensionTaskPanes (un TaskPaneCollection); cada TaskPane.WebExtension le proporciona la identidad y la configuración del complemento.
¿Puedo agregar una nueva vinculación o propiedad de extensión web con este API?
Sí — las colecciones (WebExtensionBindingCollection, WebExtensionPropertyCollection, etc.) admiten Add(), por lo que puedes construir y agregar nuevos objetos WebExtensionBinding/WebExtensionProperty a un WebExtension existente.
¿Qué enlaza realmente WebExtensionBinding?
Enlaza una parte de los datos del documento al complemento, usando un WebExtensionBindingType (Matrix, Table o Text) para describir la estructura de esos datos.
¿Cómo leo la configuración personalizada del complemento almacenada en el documento?
Iterar WebExtension.Properties (un WebExtensionPropertyCollection); cada WebExtensionProperty expone un par Name/Value.
API Reference Resumen
| Clase / Método | Descripción |
|---|---|
Document.WebExtensionTaskPanes | TaskPaneCollection de paneles de tareas registrados en el documento |
TaskPane | Un panel de add-in: DockState, Row, Width, IsVisible, IsLocked, WebExtension |
WebExtension | Identidad del add-in: Id, IsFrozen, Reference, Bindings, Properties |
WebExtensionReference | Origen del add-in: Id, Version, Store, StoreType |
WebExtensionBinding | Enlaza los datos del documento con el add-in a través de WebExtensionBindingType |
WebExtensionProperty | Configuración personalizada del complemento como un par Name/Value |