Python: 如何使用 python-docx 库设置字体?
Python: How to set font using python-docx library?
对于现有的 .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
它returns一个错误:
AttributeError: can't set attribute
我该怎么办?我可以将此特定字体应用于新字符串吗?
我在 Windows 64 位机器上使用 Python 3.4。
简短的回答是否定的。您不能直接将 Font 对象分配给 运行。 Font 对象提供对各种字符级格式化属性的访问,例如字体名称、大小、颜色、下划线等;它不能一次全部应用于另一个 运行.
你 可以 但是指定一个字体名称,这就是人们在使用 font.[=11= 这个词时通常的意思]
some_typeface_name = doc.paragraphs[0].runs[0].font.name
r = p.add_run('some string')
r.font.name = some_typeface_name
对于现有的 .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
它returns一个错误:
AttributeError: can't set attribute
我该怎么办?我可以将此特定字体应用于新字符串吗?
我在 Windows 64 位机器上使用 Python 3.4。
简短的回答是否定的。您不能直接将 Font 对象分配给 运行。 Font 对象提供对各种字符级格式化属性的访问,例如字体名称、大小、颜色、下划线等;它不能一次全部应用于另一个 运行.
你 可以 但是指定一个字体名称,这就是人们在使用 font.[=11= 这个词时通常的意思]
some_typeface_name = doc.paragraphs[0].runs[0].font.name
r = p.add_run('some string')
r.font.name = some_typeface_name