如何使用PPTX Python库在PPT幻灯片上的项目符号列表上更改缩进



我已经开始使用'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元素的引用

最新更新