Python:如何使用python-docx库设置字体?

时间:2016-06-13 07:33:29

标签: python-3.x python-docx

对于现有的.docx文件,我可以使用python-docx访问字体信息:

import docx
doc = docx.Document(*some file*)
some_font = doc.paragraphs[0].runs[0].font

但是当我尝试将此字体应用于新文档中的新运行时,它会失败:

newdoc = docx.Document()
p = newdoc.add_paragraph()
r = p.add_run(*some string*)
r.font = some_font

它返回错误:

AttributeError: can't set attribute

我该怎么办?我可以将此特定字体应用于新字符串吗?

我在Windows 64位计算机上使用Python 3.4。

1 个答案:

答案 0 :(得分:2)

简短回答是否。您无法直接将Font对象分配给运行。 Font对象提供对各种字符级格式化属性的访问,例如字体名称,大小,颜色,下划线等;它不能同时应用于另一次运行。

可以然后分配一个字体名称,这是人们在使用 font 这个词时常常的意思。

some_typeface_name = doc.paragraphs[0].runs[0].font.name
r = p.add_run('some string')
r.font.name = some_typeface_name