Работа с надстройками Office

Иногда может потребоваться предоставить доступ к элементам управления интерфейса, которые запускают код для изменения документов. Aspose.Words API предоставляет пространство имен WebExtensions, которое предоставляет различные классы для настройки элементов и атрибутов, расширяя словарь XML для представления надстроек Office.

WebExtensions пространство имен может быть условно разделено на:

  • Объекты для работы с панелью задач
  • Объекты для работы с веб-расширениями

Использование панелей задач

Панели задач - это интерфейсные поверхности, которые отображаются в правой части окна в Microsoft Word. Панель задач позволяет пользователям получать доступ к элементам управления интерфейса, которые могут запускать код для изменения документов.

Например, используя Aspose.Words API, вы можете добавить надстройку панели задач и настроить ее внешний вид.

Использование веб-расширений

Веб-расширения - это инструменты, расширяющие возможности приложений Office и позволяющие взаимодействовать с содержимым документов Office. Веб-расширения предоставляют дополнительные функциональные возможности клиентам Office для улучшения взаимодействия с пользователями.

Aspose.Words предоставляет возможность добавлять веб-расширения типа панели задач, используя классы WebExtension и TaskPane, а также позволяет настраивать свойства панели и расширения.

В следующем примере кода показано, как создавать панели задач и добавлять в веб-расширение панели задач с базовыми свойствами:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document();
TaskPane taskPane = new TaskPane();
doc.getWebExtensionTaskPanes().add(taskPane);
taskPane.setDockState(TaskPaneDockState.RIGHT);
taskPane.isVisible(true);
taskPane.setWidth(300);
taskPane.getWebExtension().getReference().setId("wa102923726");
taskPane.getWebExtension().getReference().setVersion("1.0.0.0");
taskPane.getWebExtension().getReference().setStoreType(WebExtensionStoreType.OMEX);
taskPane.getWebExtension().getReference().setStore("th-TH");
taskPane.getWebExtension().getProperties().add(new WebExtensionProperty("mailchimpCampaign", "mailchimpCampaign"));
taskPane.getWebExtension().getBindings().add(new WebExtensionBinding("UnnamedBinding_0_1506535429545", WebExtensionBindingType.TEXT, "194740422"));
doc.save(dataDir + "output.docx", SaveFormat.DOCX);

Чтобы просмотреть список надстроек панели задач, используйте свойство WebExtensionTaskPanes.

В следующем примере кода показано, как получить такой список надстроек:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
doc = new Document(dataDir + "output.docx");
System.out.println("Task panes sources:");
for (TaskPane taskPaneInfo : doc.getWebExtensionTaskPanes()) {
WebExtensionReference reference = taskPaneInfo.getWebExtension().getReference();
System.out.println("Provider: " + reference.getStore() +
", version: " + reference.getVersion() +
", catalog identifier: " + reference.getId() + ";");
}