Python-docx和保留格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-docx和保留格式相关的知识,希望对你有一定的参考价值。

我正在尝试使用python-docx自动执行报告编写。我在人字形括号内的模板文档中表示替换项。例如<customer_name>

这可以通过遍历python中的段落并执行字符串替换来正常工作。缺点是它删除了我应用于非替换文字的所有突出显示。粗体,斜体和下划线文本显示为确定。

for p in doc.paragraphs:
    p.text = p.text.replace('<customer_name>', 'John Smith')

我也尝试过遍历运行(这些是模块提供的段落的另一个子集),但这还不够鲁棒,因为我的标签被划分为多次运行,而我的replace语句也无法毫无困难地检测到它们。

我是否忽略了一些小细节或替代方法,使我可以在不删除突出显示的情况下更改文本?

答案

[通过进一步检查run对象,有两个感兴趣的属性:fontelementfont属性包含一个名为text的属性,可用于提取和编辑不同运行的文本。 element属性包含一个名为highlight_color的属性。通过将highlight_color设置为None,可以删除突出显示。

以上是关于Python-docx和保留格式的主要内容,如果未能解决你的问题,请参考以下文章

python 处理document文档 保留原样式

python用python-docx读写word文档

Python用python-docx读写word文档

python 操作 word 文档,使用 python-docx 操作 word docx 文档

如何使用 python-docx 将复选框表单插入 .docx 文件?

java BottomBarNavigation代码保留片段状态