我在使用 python docx 库格式化 Docx 文件时遇到问题。我可以替换段落中的一些文本,但不能维护文本字体。以下是我的方法 -
from docx import Document
# read doc file
doc = Document(file name)
现在我需要替换段落中的几个单词,(假设用 val 替换段落中的键)并且段落索引(pid)是已知的,因此我正在执行以下任务:
paragraph = doc.paragraphs[int(pid)].text
para = re.sub(key, val, paragraph.rstrip())
doc.paragraphs[pid].text = para
保存此文档后,现在我可以看到文件中的替换文本但无法维护字体。我的意思是文件中较早的常用字体是“Times New Roman”,但在文本替换后段落字体和粗细不同。那么如何保持段落字体和其他类似于文本替换之前的样式。
PS 在 google web2py 用户组中得到了很好的响应,它可以在运行级别完成,但问题是,我要替换的文本不是单个运行,而是运行块。
我也尝试提取段落字体样式,但 docx 库不返回正确的字体。