Добавление прямоугольников в презентации на Java

Добавить прямоугольник на слайд

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

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его Index.
  • Добавьте IAutoShape типа Rectangle, используя метод addAutoShape объекта IShapeCollection.
  • Запишите изменённую презентацию в файл PPTX.

В приведённом ниже примере мы добавили простой прямоугольник на первый слайд презентации.

// Создать экземпляр класса Presentation, представляющего PPTX
Presentation pres = new Presentation();
try {
    // Получить первый слайд
    ISlide sld = pres.getSlides().get_Item(0);

    // Добавить AutoShape типа эллипс
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Записать файл PPTX на диск
    pres.save("RecShp1.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Добавить форматированный прямоугольник на слайд

Чтобы добавить форматированный прямоугольник на слайд, выполните следующие шаги:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его Index.
  • Добавьте IAutoShape типа Rectangle, используя метод addAutoShape объекта IShapeCollection.
  • Установите Fill Type прямоугольника в Solid.
  • Установите цвет прямоугольника с помощью метода SolidFillColor.setColor объекта IFillFormat, связанного с объектом IShape.
  • Установите цвет линий прямоугольника.
  • Установите толщину линий прямоугольника.
  • Запишите изменённую презентацию в файл PPTX.

Эти шаги реализованы в примере, приведённом ниже.

// Создать экземпляр класса Presentation, представляющего PPTX
Presentation pres = new Presentation();
try {
    // Получить первый слайд
    ISlide sld = pres.getSlides().get_Item(0);

    // Добавить AutoShape типа эллипса
    IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 50);

    // Применить некоторое форматирование к фигуре эллипса
    shp.getFillFormat().setFillType(FillType.Solid);
    shp.getFillFormat().getSolidFillColor().setColor(Color.GRAY);

    // Применить некоторое форматирование к линии эллипса
    shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
    shp.getLineFormat().setWidth(5);

    // Записать файл PPTX на диск
    pres.save("RecShp2.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Как добавить прямоугольник со скруглёнными углами?

Используйте тип фигуры с закруглёнными углами shape type и настройте радиус скругления в свойствах фигуры; закругление также можно применить к каждому углу отдельно с помощью геометрических корректировок.

Как залить прямоугольник изображением (текстурой)?

Выберите тип заливки picture fill type, укажите источник изображения и настройте режимы растягивания/повторения.

Можно ли добавить тень и свечение к прямоугольнику?

Да. Доступны внешняя/внутренняя тень, свечение и мягкие края с регулируемыми параметрами.

Можно ли превратить прямоугольник в кнопку с гиперссылкой?

Да. Можно назначить гиперссылку на клик фигуры (переход к слайду, файлу, веб‑адресу или электронной почте).

Как защитить прямоугольник от перемещения и изменений?

Используйте блокировки фигур: можно запретить перемещение, изменение размеров, выделение или редактирование текста, чтобы сохранить макет.

Можно ли преобразовать прямоугольник в растр или SVG?

Да. Вы можете отрендерить фигуру в изображение заданного размера/масштаба или экспортировать её как SVG для векторного использования.

Как быстро получить фактические (эффективные) свойства прямоугольника с учётом темы и наследования?

Используйте эффективные свойства фигуры: API возвращает вычисленные значения, учитывающие стили темы, макет и локальные настройки, упрощая анализ форматирования.