我已经开始使用'pptx'库来编程生成一些基于PPT的报告。我们有一个公司模板,我将其用作基础。它包含单列格式的主幻灯片带有项目符号列表,看起来像这样(但针对每个级别的格式不同,例如子弹类型和颜色。对不起,这里无法在此处共享实际图片):
项目符号列表格式
我想知道是否有一种方法可以改变各个级别的位置,因为我们将从MS PowerPoint中的标尺(或右键单击>段落>段落>凹痕)更改。如果我更改项目符号列表的"级别"参数,则将从第一级更改为第二级,并随着所有格式而更改。
shape.text_frame.paragraphs[0].level = 2
,但我只想将第一级转移几厘米。因此看起来像:
项目符号列表转移到右
我知道实现的一种明显方法是添加新的主幻灯片,并使用它。但是,如果需要多次更改凹痕,则很难为每种特定情况添加新的主幻灯片。因此,我正在搜索是否有一种方法可以在编程中使用" PPTX"功能。到目前为止,我无法在" PPTX"中找到此类功能,但是我可能会错过它,或者可能有一些解决方法。如果是这样,我很想知道。
简短的答案是"否"。python-pptx
的当前版本不支持其API中的子弹格式。
要这样做,您需要直接操纵下面的XML。您可以在" Python-Pptx解决功能"上搜索以获取一些示例。
我相信感兴趣的元素是 p:sp/p:txBody/a:lstStyle
,其中包含诸如" lvl1ppr"one_answers" lvl2ppr"之类的元素。
在Shape.text_frame._element
p:txBody
元素的引用