首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-docx如何设置字体间距?

Python-docx如何设置字体间距?
EN

Stack Overflow用户
提问于 2021-12-22 17:38:15
回答 2查看 250关注 0票数 1

如何在python中设置字体间距,或者如何将元素添加到w:rPr? //

EN

回答 2

Stack Overflow用户

发布于 2021-12-22 21:22:35

python-docx中不支持此设置。

添加一个<w:spacing>元素是可行的,但是在WordprocessingML ( XML .docx文件所遵循的)中,子元素出现的顺序通常是非常重要的。如果您没有按照正确的顺序在w:spacing子元素中获得w:rPr元素,或者在其中一个元素已经存在时添加一个元素,那么您将触发一个修复错误。

所以你需要这样的东西:

代码语言:javascript
复制
def run_set_spacing(run, value: int):
    """Set the font spacing for `run` to `value` in twips.

    A twip is a "twentieth of an imperial point", so 1/1440 in.
    """

    def get_or_add_spacing(rPr):
        # --- check if `w:spacing` child already exists ---
        spacings = rPr.xpath("./w:spacing")
        # --- return that if so ---
        if spacings:
            return spacings[0]
        # --- otherwise create one ---
        spacing = OxmlElement("w:spacing")
        rPr.insert_element_before(
            spacing,
            *(
                "w:w",
                "w:kern",
                "w:position",
                "w:sz",
                "w:szCs",
                "w:highlight",
                "w:u",
                "w:effect",
                "w:bdr",
                "w:shd",
                "w:fitText",
                "w:vertAlign",
                "w:rtl",
                "w:cs",
                "w:em",
                "w:lang",
                "w:eastAsianLayout",
                "w:specVanish",
                "w:oMath",
            ),
        )
        return spacing

    rPr = run._r.get_or_add_rPr()
    spacing = get_or_add_spacing(rPr)
    spacing.set("val", str(value))

然后,您将对需要该设置的每一次运行调用如下所示:

代码语言:javascript
复制
run_set_spacing(run, 200)
票数 1
EN

Stack Overflow用户

发布于 2022-08-24 02:45:29

我用狡诈的方法来回答,但没有用。但是输出文档XML 接近正确的格式。正确的格式是

尝尝这个

代码语言:javascript
复制
from docx.oxml.ns import qn

spacing.set(qn('w:val'), str(value))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70453019

复制
相关文章

相似问题

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