2016-06-13 27 views
0

對於現有的.docx文件,我可以使用python-DOCX訪問字體信息:Python:如何使用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。

回答

2

簡短的回答是不可以。您不能直接將Font對象分配給運行。 Font對象提供對各種字符級格式化屬性的訪問,如字體名稱,大小,顏色,下劃線等;它不能一次全部應用於另一次運行。

可以但是指定字體名稱,這就是人們通常意味着,當他們用這個詞字體

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