Работа с Office Addins

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

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

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

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

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

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

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

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

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

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

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
TaskPane taskPane = new TaskPane();
doc.WebExtensionTaskPanes.Add(taskPane);
taskPane.DockState = TaskPaneDockState.Right;
taskPane.IsVisible = true;
taskPane.Width = 300;
taskPane.WebExtension.Reference.Id = "wa102923726";
taskPane.WebExtension.Reference.Version = "1.0.0.0";
taskPane.WebExtension.Reference.StoreType = WebExtensionStoreType.OMEX;
taskPane.WebExtension.Reference.Store = "th-TH";
taskPane.WebExtension.Properties.Add(new WebExtensionProperty("mailchimpCampaign", "mailchimpCampaign"));
taskPane.WebExtension.Bindings.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-.NET
doc = new Document(ArtifactsDir + "WorkingWithWebExtension.UsingWebExtensionTaskPanes.docx");
Console.WriteLine("Task panes sources:\n");
foreach (TaskPane taskPaneInfo in doc.WebExtensionTaskPanes)
{
WebExtensionReference reference = taskPaneInfo.WebExtension.Reference;
Console.WriteLine($"Provider: \"{reference.Store}\", version: \"{reference.Version}\", catalog identifier: \"{reference.Id}\";");
}