Добавление прямоугольников в презентации на PHP
Добавить прямоугольник на слайд
Чтобы добавить простой прямоугольник на выбранный слайд презентации, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Rectangle, используя метод addAutoShape, предоставляемый объектом ShapeCollection.
- Сохраните изменённую презентацию в файл PPTX.
В приведённом ниже примере мы добавили простой прямоугольник на первый слайд презентации.
# Создать экземпляр класса Prseetation, представляющего PPTX
$pres = new Presentation();
try {
# Получить первый слайд
$sld = $pres->getSlides()->get_Item(0);
# Добавить AutoShape типа эллипса
$shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
# Записать файл PPTX на диск
$pres->save("RecShp1.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Добавить отформатированный прямоугольник на слайд
Чтобы добавить отформатированный прямоугольник на слайд, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его Index.
- Добавьте AutoShape типа Rectangle, используя метод addAutoShape, предоставляемый объектом ShapeCollection.
- Установите Fill Type прямоугольника в Solid.
- Задайте цвет прямоугольника с помощью метода ColorFormat::setColor, предоставляемого объектом FillFormat, связанным с объектом Shape.
- Установите цвет линий прямоугольника.
- Установите ширину линий прямоугольника.
- Сохраните изменённую презентацию в файл PPTX.
Вышеуказанные шаги реализованы в примере, приведённом ниже.
# Создать экземпляр класса Presentation, представляющего PPTX
$pres = new Presentation();
try {
# Получить первый слайд
$sld = $pres->getSlides()->get_Item(0);
# Добавить AutoShape типа эллипса
$shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
# Применить некоторые параметры форматирования к эллипсу
$shp->getFillFormat()->setFillType(FillType::Solid);
$shp->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
# Применить некоторые параметры форматирования к линии эллипса
$shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shp->getLineFormat()->setWidth(5);
# Записать файл PPTX на диск
$pres->save("RecShp2.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Как добавить прямоугольник с закруглёнными углами?
Используйте тип фигуры с закруглёнными углами shape type и отрегулируйте радиус угла в свойствах фигуры; закругление также можно применить к каждому углу отдельно с помощью корректировок геометрии.
Как залить прямоугольник изображением (текстурой)?
Выберите тип заливки изображением fill type, укажите источник изображения и настройте режимы растяжения/мозаики.
Можно ли добавить к прямоугольнику тень и светящийся контур?
Да. Доступны внешняя/внутренняя тень, светящийся контур и мягкие края с настраиваемыми параметрами.
Можно ли превратить прямоугольник в кнопку с гиперссылкой?
Да. Назначьте гиперссылку при щелчке по фигуре (перейти к слайду, файлу, веб‑адресу или e‑mail).
Как защитить прямоугольник от перемещения и изменений?
Используйте блокировки фигуры: вы можете запретить перемещение, изменение размера, выделение или редактирование текста, чтобы сохранить макет.
Можно ли преобразовать прямоугольник в растровое изображение или SVG?
Да. Вы можете отрендерить фигуру в изображение с заданным размером/масштабом или экспортировать её как SVG для векторного использования.
Как быстро получить фактические (эффективные) свойства прямоугольника с учётом темы и наследования?
Используйте эффективные свойства фигуры: API возвращает вычисленные значения, учитывающие стили темы, макет и локальные настройки, упрощая анализ форматирования.