Управление тегами и пользовательскими данными

Хранение данных в презентационных файлах

Файлы PPTX — элементы с расширением .pptx — хранятся в формате PresentationML, который является частью спецификации Office Open XML. Формат Office Open XML определяет структуру данных, содержащихся в презентациях.

Слайд является одним из элементов презентаций, а часть слайда содержит контент одного слайда. Часть слайда может иметь явные отношения ко многим частям — таким как пользовательские теги — определенные стандартом ISO/IEC 29500.

Пользовательские данные (специфичные для презентации) или пользователя могут существовать в виде тегов (ITagCollection) и CustomXmlParts (ICustomXmlPartCollection).

Получение значений тегов

В слайдах тег соответствует методам IDocumentProperties.getKeywords() и IDocumentProperties.setKeywords(). Этот пример кода показывает, как получить значение тега с помощью Aspose.Slides для Java для Presentation:

Presentation pres = new Presentation("pres.pptx");
try{
    String keywords = pres.getDocumentProperties().getKeywords();
} finally {
    if (pres != null) pres.dispose();
}

Добавление тегов в презентации

Aspose.Slides позволяет добавлять теги в презентации. Тег обычно состоит из двух элементов:

  • имя пользовательского свойства - MyTag
  • значение пользовательского свойства - My Tag Value

Если вам нужно классифицировать некоторые презентации на основе определенного правила или свойства, то вы можете получить выгоду от добавления тегов к этим презентациям. Например, если вы хотите сгруппировать все презентации из стран Северной Америки, вы можете создать тег Северной Америки и затем назначить соответствующие страны (США, Мексика и Канада) как значения.

Этот пример кода показывает, как добавить тег к Presentation с использованием Aspose.Slides для Java:

Presentation pres = new Presentation("pres.pptx");
try {
    ITagCollection tags = pres.getCustomData().getTags();
    pres.getCustomData().getTags().set_Item("MyTag", "My Tag Value");
} finally {
    if (pres != null) pres.dispose();
}

Теги также могут быть установлены для Slide:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    slide.getCustomData().getTags().set_Item("tag", "value");
} finally {
    if (pres != null) pres.dispose();
}

Или для любого отдельного Shape:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IAutoShape shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 10, 10, 100, 50);
    shape.getTextFrame().setText("My text");
    shape.getCustomData().getTags().set_Item("tag", "value");
} finally {
    if (pres != null) pres.dispose();
}