2016-09-26 320 views
2

我正在製作字典。我使用python-docx將其放入MS Word中。我可以很容易地使它大膽或斜體,但似乎無法弄清楚如何做到這一點。這裏的基本知識:如何在python-docx中同時應用粗體和斜體?

import docx 

word = 'Dictionary' 

doc = docx.Document() 
p = doc.add_paragraph() 
p.add_run(word).bold = True 

doc.save('test.docx') 

我已經試過p.add_run(字).bold.italic =真,但收到 'NoneType' 的錯誤,我明白了。

我也嘗試過p.bold = True和p.italic = True,在add_run之前和之後,卻失去了所有的格式。

Word的查找/替換是一個簡單的解決方案,但如果可以的話,我寧願在代碼中執行它。

回答

3

add_run方法每次調用時都會返回一個新的Run實例。你需要創建一個實例,然後應用italicbold

import docx 

word = 'Dictionary' 

doc = docx.Document() 
p = doc.add_paragraph() 

runner = p.add_run(word) 
runner.bold = True 
runner.italic = True 

doc.save('test.docx') 
+0

優秀,這使得有很大的意義。謝謝! – mightyoscar

相關問題