使用 Python 在演示文稿中创建线形状
Contents
[
Hide
]
概述
Aspose.Slides for Python via .NET 支持向幻灯片添加各种形状。在本主题中,我们将通过向幻灯片添加直线开始使用形状。使用 Aspose.Slides,开发者不仅可以创建简单的直线,还可以在幻灯片上绘制一些更炫的线条。
创建普通线条
使用 Aspose.Slides 向幻灯片添加普通线条,作为简单的分隔线或连接线。要向演示文稿中选定的幻灯片添加普通线条,请按照以下步骤操作:
- 创建一个 Presentation 类的实例。
- 按索引获取幻灯片的引用。
- 使用 ShapeCollection 对象的
add_auto_shape方法,添加类型为LINE的 AutoShape。 - 将演示文稿保存为 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 类的实例。
- 按索引获取幻灯片的引用。
- 使用 ShapeCollection 对象的
add_auto_shape方法,添加类型为LINE的 AutoShape。 - 设置 line style。
- 设置线宽。
- 设置线条的 dash style。
- 为线条的起点设置 arrowhead style 和长度。
- 为线条的终点设置箭头样式和长度。
- 将演示文稿保存为 PPTX 文件。
import aspose.slides as slides
import aspose.pydrawing as draw
# 实例化表示 PPTX 文件的 Presentation 类。
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)
常见问题
我可以将普通线转换为连接线,使其“捕捉”到形状吗?
不可以。普通线(类型为 LINE 的 AutoShape)不会自动变为连接线。若要使其捕捉到形状,请使用专用的 Connector 类型以及用于连接的 对应 API。
如果线条的属性是从主题继承而来,且难以确定最终值,该怎么办?
通过 ILineFormatEffectiveData/ILineFillFormatEffectiveData 类读取 有效属性,这些类已考虑继承和主题样式。
我能否锁定线条,防止编辑(移动、调整大小)?
可以。形状提供了 lock objects,可用于 禁止编辑操作。