
本系列推文主要介紹了使用Python代碼和python-docx庫開發Word的案例。在日常工作中,微軟的Word軟件毫無疑問是編輯單個圖文文件的不二選擇,但是如果需要批量創建和修改多個相似的Word文件,使用Python代碼和python-docx庫將成倍提高工作效率。
python-docx庫是在Python代碼中創建和編輯Microsoft Word(.docx)文件的第三方庫,.docx是Microsoft Word 2007之後的文件格式,它是基於Office Open XML標準的壓縮文件格式。.doc文件格式曾經是Microsoft Word 2007之前的Word文件格式,但是python-docx庫不支持.doc文件格式,因此不能在Python代碼中使用python-docx庫創建和編輯.doc格式的Word文件。在本系列案例中,將使用Python代碼調用python-docx庫的 Document、Paragraph、Table、Section等相關對象,從而實現以編程方式對Word文件的段落、表格、節等進行批量編輯。
下面介紹兩個Python輔助Word實例,在段落中使用英寸設置行間距,和使用磅數設置間距。
實例:在段落中使用英寸設置行間距
01
實例功能
此案例主要通過使用Paragraph的line_spacing屬性和docx.shared.Inches()方法,從而實現在Word文件的指定段落中使用英寸自定義段落的行間距。當運行此案例的Python代碼(B008.py文件)之後,在「散文名篇.docx」文件中將設置第1個段落的行間距為0.5英寸,代碼運行前後的效果分別如圖1和圖2所示。
■圖1
■圖2
02
實現代碼
03
代碼說明
在上面這段代碼中,myDocument.paragraphs[0].paragraph_format.line_spacing=docx.shared.Inches(0.5)表示設置Word文件(myDocument)的第1個段落的行間距為0.5英寸。如果設置myDocument.paragraphs[1].paragraph_format.line_spacing=docx.shared. Inches(1.5),則表示設置Word文件(myDocument)的第2個段落的行間距為1.5英寸。
此案例的源文件是MyCode\B008\B008.py。
掃碼觀看講解視頻
實例:在段落中使用磅數設置行間距
01
實例功能
此案例主要通過使用Paragraph的line_spacing屬性和docx.shared.Pt()方法,從而實現在Word文件的指定段落中使用磅數自定義行間距。當運行此案例的Python代碼 (B027.py文件)之後,在「散文名篇.docx」文件中將設置第1個段落的行間距為16磅,代碼運行前後的效果分別如圖3和圖4所示。
■圖3
■圖4
02
實現代碼
03
代碼說明
在上面這段代碼中,myDocument.paragraphs[0].paragraph_format.line_spacing= docx.shared.Pt(16)表示設置Word文件(myDocument)的第1個段落的行間距為16磅,但是從圖236-2的實際效果看,第1個段落的行間距幾乎為0,為什麼呢?因為第1個段落的文本是三號字體,三號字體是16磅,與行間距完全相同。因此從另一個角度來說,行間距似乎理解為行高更為確切。在Word中,磅數與字體大小的對應關係如下:初號=42磅、小初=36磅、一號=26磅、小一=24磅、二號=22磅、小二=18磅、三號=16磅,1厘米約等於28.35磅。如果myDocument.paragraphs[0].paragraph_format.line_spacing= docx.shared. Cm(16),則表示設置Word文件(myDocument)的第1個段落的行間距為16厘米。
此案例的源文件是MyCode\B027\B027.py。
04
補充說明
閱讀和使用本書案例要求讀者具備一定的Python語言編程基礎和操作Excel的基本常識,關於Python語法基礎可以參考Python 基礎語法教程(https://www.runoob.com/python/python-basic-syntax.html)。
掃碼觀看講解視頻
05
源代碼下載
關注微信公眾號,後台回復關鍵詞「Python輔助WordV235」即可獲得完整源代碼。
06
參考書籍
《Python輔助Word+Excel:讓辦公更高效》
ISBN:9787302592464
作者:羅帥、羅斌
定價:99.8元

掃碼優惠購書
347個典型辦公場景
問題描述+解決方案+真實源碼+效果截圖
Python+Word+Excel實現辦公自動化,
成倍提高辦公效率
優化數據分析,讓工作省點力!
告別重複勞動,蛻變職場精英!



