python-docx


開發頁面:http://python-docx.readthedocs.io

 

#1 pip install python-docx安裝失敗

pip會自動先安裝python-docx的前置需求包lxml,但安裝失敗。

解決方案為通過下載lxml.whl文件進行安裝。

首先安裝whl包:pip install wheel

接着去開發者頁面下載lxml的安裝包:https://pypi.python.org/pypi/lxml。頁面默認是最新版本,可以根據需求找到其他版本下載。

命令行進入安裝包所在目錄,執行pip install 安裝包名稱

 

#2 paragraph

docx中文本的結構是document->paragraph->run->text。其中text為純文本,run為之添加了樣式,而paragraph可以包含多段不同樣式的run。

 

paragraph包含一個固定在末尾的換行符,起到分段作用。在text中添加\n也可以實現換行效果,但在word中顯示為軟回車(即:↓),依然屬於同一段落。

 

通過document.paragraph,可以獲得包含文檔中所有paragraph的list。heading本質上也是一種paragraph,也會被納入這個list中。

 

需要注意的是,paragraph僅能被清空,但無法被去除。因此對於需要修改文檔的程序,要謹慎設計paragraph的創建。

 

#3 style

推薦這一篇博文:https://zhuanlan.zhihu.com/p/23708800?utm_source=tuicool&utm_medium=referral (作者:Jerry Jho

 

#4 中文字體的設置

docx中存在一個bug:run.font.name = u'宋體'僅對中文字體有效。

解決方案:使用下面兩句命令

run.font.name = u'字體1'

run._element.rPr.rFonts.set(docx.oxml.ns.qn('w:eastAsia'), u'字體2')

這樣該run中的中文字體為字體2,其余字體為字體1。

 

#5 table

python-docx的table功能目前還不夠完善,例如列寬只能設置成為固定值。

table的每一個cell生成時都自動包含一個內容為空的paragraph,添加文本時需注意一下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM