Управление формой SmartArt
Создание формы SmartArt
Aspose.Slides для Java предоставляет API для создания форм SmartArt. Чтобы создать форму SmartArt на слайде, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте форму SmartArt установив для неё LayoutType.
- Сохраните изменённую презентацию в файл PPTX.
// Создание экземпляра класса Presentation
Presentation pres = new Presentation();
try {
// Получение первого слайда
ISlide slide = pres.getSlides().get_Item(0);
// Добавление формы Smart Art
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
// Сохранение презентации
pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Рисунок: форма SmartArt добавлена на слайд |
Доступ к форме SmartArt на слайде
Следующий код будет использоваться для доступа к формам SmartArt, добавленным на слайде презентации. В образце кода мы пройдём через каждую форму внутри слайда и проверим, является ли она SmartArt формой. Если форма является типом SmartArt, то мы приведём её к экземпляру SmartArt.
// Загрузка необходимой презентации
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Проход по каждой форме внутри первого слайда
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Проверка, является ли форма типом SmartArt
if (shape instanceof ISmartArt)
{
// Приведение формы к SmartArtEx
ISmartArt smart = (ISmartArt)shape;
System.out.println("Название формы:" + smart.getName());
}
}
} finally {
if (pres != null) pres.dispose();
}
Доступ к форме SmartArt с определённым типом макета
Следующий образец кода поможет получить доступ к форме SmartArt с определённым типом макета. Обратите внимание, что вы не можете изменить тип макета формы SmartArt, так как он является только для чтения и устанавливается только при добавлении формы SmartArt.
- Создайте экземпляр класса Presentation и загрузите презентацию с формой SmartArt.
- Получите ссылку на первый слайд, используя его индекс.
- Проходите через каждую форму внутри первого слайда.
- Проверьте, является ли форма типом SmartArt и приведите выбранную форму к SmartArt, если это SmartArt.
- Проверьте форму SmartArt с определённым типом макета и выполните всё необходимое впоследствии.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
// Проход по каждой форме внутри первого слайда
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// Проверка, является ли форма типом SmartArt
if (shape instanceof ISmartArt)
{
// Приведение формы к SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Проверка макета SmartArt
if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
{
System.out.println("Выполните какое-нибудь действие здесь....");
}
}
}
} finally {
if (pres != null) pres.dispose();
}
Изменение стиля формы SmartArt
В этом примере мы узнаем, как изменить быстрый стиль для любой формы SmartArt.
- Создайте экземпляр класса Presentation и загрузите презентацию с формой SmartArt.
- Получите ссылку на первый слайд, используя его индекс.
- Проходите через каждую форму внутри первого слайда.
- Проверьте, является ли форма типом SmartArt и приведите выбранную форму к SmartArt, если это SmartArt.
- Найдите форму SmartArt с определённым стилем.
- Установите новый стиль для формы SmartArt.
- Сохраните презентацию.
// Создание экземпляра класса Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Получение первого слайда
ISlide slide = pres.getSlides().get_Item(0);
// Проход по каждой форме внутри первого слайда
for (IShape shape : slide.getShapes())
{
// Проверка, является ли форма типом SmartArt
if (shape instanceof ISmartArt)
{
// Приведение формы к SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Проверка стиля SmartArt
if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
// Изменение стиля SmartArt
smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
}
}
}
// Сохранение презентации
pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Рисунок: форма SmartArt с изменённым стилем |
Изменение цветового стиля формы SmartArt
В этом примере мы узнаем, как изменить цветовой стиль для любой формы SmartArt. В приведённом ниже образце кода будет доступ к форме SmartArt с определённым цветовым стилем и будет изменён его стиль.
- Создайте экземпляр класса Presentation и загрузите презентацию с формой SmartArt.
- Получите ссылку на первый слайд, используя его индекс.
- Проходите через каждую форму внутри первого слайда.
- Проверьте, является ли форма типом SmartArt и приведите выбранную форму к SmartArt, если это SmartArt.
- Найдите форму SmartArt с определённым цветовым стилем.
- Установите новый цветовой стиль для формы SmartArt.
- Сохраните презентацию.
// Создание экземпляра класса Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// Получение первого слайда
ISlide slide = pres.getSlides().get_Item(0);
// Проход по каждой форме внутри первого слайда
for (IShape shape : slide.getShapes())
{
// Проверка, является ли форма типом SmartArt
if (shape instanceof ISmartArt)
{
// Приведение формы к SmartArtEx
ISmartArt smart = (ISmartArt) shape;
// Проверка цветового типа SmartArt
if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
// Изменение цветового типа SmartArt
smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
}
}
}
// Сохранение презентации
pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Рисунок: форма SmartArt с изменённым цветовым стилем |