Управление SmartArt в презентациях PowerPoint с использованием C++
Получить текст из объекта SmartArt
Теперь свойство TextFrame добавлено в интерфейс ISmartArtShape и класс SmartArtShape соответственно. Это свойство позволяет получить весь текст из SmartArt, если он содержит не только текст узлов. Приведённый ниже пример кода поможет вам получить текст из узла SmartArt.
Изменить тип макета объекта SmartArt
Чтобы изменить тип макета SmartArt, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте SmartArt BasicBlockList.
- Измените LayoutType на BasicProcess.
- Сохраните презентацию как файл PPTX. В приведённом ниже примере мы добавили соединитель между двумя фигурами.
Проверить свойство Hidden объекта SmartArt
Обратите внимание, что метод com.aspose.slides.ISmartArtNode.isHidden() возвращает true, если этот узел скрыт в модели данных. Чтобы проверить свойство hidden любого узла SmartArt, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Добавьте SmartArt RadialCycle.
- Добавьте узел в SmartArt.
- Проверьте свойство isHidden.
- Сохраните презентацию как файл PPTX. В приведённом ниже примере мы добавили соединитель между двумя фигурами.
Получить или установить тип организационной схемы
Методы com.aspose.slides.ISmartArtNode.getOrganizationChartLayout() и setOrganizationChartLayout(int) позволяют получить или установить тип организационной схемы, связанный с текущим узлом. Чтобы получить или установить тип организационной схемы, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Добавьте SmartArt на слайд.
- Получите или установите тип организационной схемы.
- Сохраните презентацию как файл PPTX. В приведённом ниже примере мы добавили соединитель между двумя фигурами.
Получить или установить состояние SmartArt
Некоторые диаграммы SmartArt не поддерживают обратное отображение, например: Vertical bullet list, Vertical Process, Descending Process, Funnel, Gear, Balance, Circle Relationship, Hexagon Cluster, Reverse List, Stacked Venn. Чтобы изменить ориентацию SmartArt, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Добавьте SmartArt на слайд.
- Получите или установите состояние диаграммы SmartArt.
- Сохраните презентацию как файл PPTX. В приведённом ниже примере мы добавили соединитель между двумя фигурами.
Создать диаграмму Picture Organization
Aspose.Slides for C++ предоставляет простой API для создания диаграмм PictureOrganization простым способом. Чтобы создать диаграмму на слайде:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте диаграмму с данными по умолчанию, указав нужный тип (ChartType.PictureOrganizationChart).
- Сохраните изменённую презентацию в файл PPTX
Следующий код используется для создания диаграммы.
auto pres = System::MakeObject<Presentation>(u"test.pptx");
auto smartArt = pres->get_Slides()->idx_get(0)->get_Shapes()->AddSmartArt(0.0f, 0.0f, 400.0f, 400.0f, SmartArtLayoutType::PictureOrganizationChart);
pres->Save(u"OrganizationChart.pptx", SaveFormat::Pptx);
Вопросы и ответы
Поддерживает ли SmartArt зеркальное/обратное отображение для языков RTL?
Да. Метод set_IsReversed переключает направление диаграммы (LTR/RTL), если выбранный тип SmartArt поддерживает обратное отображение.
Как скопировать SmartArt на тот же слайд или в другую презентацию, сохранив форматирование?
Вы можете клонировать форму SmartArt через коллекцию фигур (ShapeCollection::AddClone) или клонировать весь слайд, содержащий эту форму. Оба подхода сохраняют размер, положение и стиль.
Как отрендерить SmartArt в растровое изображение для предварительного просмотра или экспорта в веб?
Отрендерите слайд (или всю презентацию) в PNG/JPEG с помощью API, который преобразует слайды/презентации в изображения — SmartArt будет отрисован как часть слайда.
Как программно выбрать конкретный SmartArt на слайде, если их несколько?
Обычной практикой является использование альтернативного текста (Alt Text) или имени и поиск формы по этому атрибуту в формах слайда, затем проверка типа, чтобы убедиться, что это SmartArt. Документация описывает типичные техники поиска и работы с формами.