首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >run.font.italic和run.font.bold返回None而不是True

run.font.italic和run.font.bold返回None而不是True
EN

Stack Overflow用户
提问于 2019-07-02 20:59:59
回答 1查看 160关注 0票数 0

我需要得到所有的文字是斜体和粗体的段落。我手动将文本转换为斜体和粗体,但下面的代码没有返回任何内容。它只是一个启动器,或者我们也能从中获得值,我如何才能获得所有的斜体和粗体文本?

代码语言:javascript
复制
def get_italic_ratio(slide):
    count = 0
    for shape in slide.shapes:
        if not shape.has_text_frame:
            continue
        text_frame = shape.text_frame
        par = text_frame.paragraphs[0]
        run = par.add_run()
        print(run.font.italic) # returns None, should return True 
        print(run.font.bold) # returns None, should return True 

        print(text_frame.paragraphs)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-03 01:28:20

我相信你的问题是如何找到字体格式参数的“有效”值。

文本串的格式由在样式层次结构上操作的一组规则确定。如果格式化属性(例如粗体)直接应用于运行,则优先。当不直接应用粗体时,run.bold返回None,并且通过检查样式层次结构的其余部分来确定运行的“粗体”。这可以是幻灯片布局上的属性、幻灯片母版或主题或演示文稿默认设置(可能还有其他可能性)。

因此,要找到有效值,需要发现这些规则并导航样式层次结构,以便为任何给定的文本片段解析它们。在python-pptx中还没有对此的API支持。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56853071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档