对于现有的.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。
答案 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