以下几行代码展示了如何使用python在PowerPoint幻灯片中划线。但是,下面列出的四个以英寸为单位的参数只取正值,因此不能向后绘制。有其他方法可以在PowerPoint幻灯片中划线吗?
from pptx.enum.shapes import MSO_SHAPE
line1 = slide.shapes.add_shape(MSO_SHAPE.LINE_INVERSE, Inches(6), Inches(6), Inches(1), Inches(2))
您可以使用连接器对象与形状对象绘制线,(形状需要x、y、高度和宽度,powerpoint无法处理负高度(
从文档
线条是自动形状的一个子类别,在某些属性和行为上有所不同。特别是,除了范围(左侧、顶部、宽度、高度(之外,它们还有一个起点和终点。
连接器基于图元,并具有少数不同的预设几何图形值之一,例如线。自由形式连接件(尽管有名称(不是连接件,而是基于p:sp元素的自定义几何图形。
连接器可以"连接"到自动造型,以便在移动自动造型时,连接的端点保持连接。这依赖于汽车造型上的"连接点"概念。这些连接点是自动造型的预设功能,类似于调整点的预定义方式。连接点由索引标识。
使用下面的代码可以绘制一条从x=4英寸到x=2英寸的直线。
from pptx.enum.shapes import MSO_CONNECTOR
from pptx import Presentation
# Make sure you have a presentation called test1.pptx in your working directory
prs = Presentation(pptx='test1.pptx')
slide = prs.slides.add_slide(prs.slide_layouts[1])
#shapes.add_connector(MSO_CONNECTOR.STRAIGHT, start_x, start_y, end_x, end_y
line1=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(4), Inches(2), Inches(1), Inches(2))
prs.save('test2.pptx')