Создание фигур линий в презентациях с Python
Обзор
Aspose.Slides for Python via .NET поддерживает добавление разных видов фигур на слайды. В этой статье мы начнём работать с фигурами, добавляя линии на слайды. С помощью Aspose.Slides разработчики могут создавать не только простые линии, но и рисовать на слайдах некоторые изящные линии.
Создание простых линий
Используйте Aspose.Slides, чтобы добавить простую линию на слайд в качестве простого разделителя или соединителя. Чтобы добавить простую линию на выбранный слайд в презентации, выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по индексу.
- Добавьте AutoShape типа
LINE, используя методadd_auto_shapeобъекта ShapeCollection. - Сохраните презентацию в файл PPTX.
В примере ниже линия добавлена на первый слайд презентации.
import aspose.slides as slides
# Создать экземпляр класса Presentation.
with slides.Presentation() as presentation:
# Получить первый слайд.
slide = presentation.slides[0]
# Добавить автофигуру типа LINE.
slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
# Сохранить презентацию в файл PPTX.
presentation.save("line_shape.pptx", slides.export.SaveFormat.PPTX)
Создание линий со стрелками
Используя Aspose.Slides, можно настроить свойства линии, чтобы они выглядели более привлекательно. Ниже мы настраиваем несколько свойств линии, чтобы она выглядела как стрелка. Выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по индексу.
- Добавьте AutoShape типа
LINE, используя методadd_auto_shapeобъекта ShapeCollection. - Установите стиль линии.
- Установите ширину линии.
- Установите dash style.
- Установите arrowhead style и длину для начальной точки линии.
- Установите стиль и длину наконечника для конечной точки линии.
- Сохраните презентацию в файл PPTX.
import aspose.slides as slides
import aspose.pydrawing as draw
# Создать экземпляр класса Presentation, представляющего файл PPTX.
with slides.Presentation() as presentation:
# Получить первый слайд.
slide = presentation.slides[0]
# Добавить автофигуру типа LINE.
shape = slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
# Применить форматирование к линии.
shape.line_format.style = slides.LineStyle.THICK_BETWEEN_THIN
shape.line_format.width = 10
shape.line_format.dash_style = slides.LineDashStyle.DASH_DOT
shape.line_format.begin_arrowhead_length = slides.LineArrowheadLength.SHORT
shape.line_format.begin_arrowhead_style = slides.LineArrowheadStyle.OVAL
shape.line_format.end_arrowhead_length = slides.LineArrowheadLength.LONG
shape.line_format.end_arrowhead_style = slides.LineArrowheadStyle.TRIANGLE
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
shape.line_format.fill_format.solid_fill_color.color = draw.Color.maroon
# Сохранить презентацию в файл PPTX.
presentation.save("line_shape_2.pptx", slides.export.SaveFormat.PPTX)
FAQ
Можно ли преобразовать обычную линию в соединитель, чтобы она «прилипала» к фигурам?
Нет. Обычная линия (это AutoShape типа LINE) автоматически не превращается в соединитель. Чтобы она «прилипала» к фигурам, используйте специальный тип Connector и corresponding APIs для соединений.
Что делать, если свойства линии наследуются из темы и трудно определить их окончательные значения?
Read the effective properties через классы ILineFormatEffectiveData/ILineFillFormatEffectiveData — они уже учитывают наследование и стили темы.
Можно ли заблокировать линию от редактирования (перемещения, изменения размера)?
Да. Фигуры предоставляют lock objects, которые позволяют disallow editing operations.