我创建了一个包含文本的 word 文档
你好。你欠我 ${debt}。请尽快还给我。
在 Times New Roman 大小 12 中。文件名是 debtTemplate.docx。我想使用 python-docx 将 {debt} 替换为实际数字(1.20)。我尝试了以下代码:
from docx import Document
document = Document("debtTemplate.docx")
paragraphs = document.paragraphs
debt = "1.20"
paragraph = paragraphs[0]
text = paragraph.text
newText = text.format(debt=debt)
paragraph.clear()
paragraph.add_run(newText)
document.save("debt.docx")
这将生成一个包含所需文本的新文档,但 Calabri 字体大小为 11。我希望字体与原始字体相同:Times New Roman 大小为 12。
我知道您可以将样式变量添加到paragraph.add_run()
,所以我尝试了,但没有任何效果。例如paragraph.add_run(newText,style="Strong")
,甚至没有改变任何东西。
有谁知道我能做什么?
编辑:这是我的代码的修改版本,我希望它可以工作但没有。
from docx import Document
document = Document("debtTemplate.docx")
document.save("debt.docx")
paragraphs = document.paragraphs
debt = "1.20"
paragraph = paragraphs[0]
style = paragraph.style
text = paragraph.text
newText = text.format(debt=debt)
paragraph.clear()
paragraph.add_run(newText,style)
document.save("debt.docx")