python-docx文檔格式修改方式
python-docx文檔格式修改
今天,依然使用python-docx庫來操作docx文檔。
這一次,我們想要講文檔中的某種格式直接替換為我們指定的格式。
思路
第一種方法:
- 我們知道paragraph支持段落/字體的設(shè)置
- 于是我們可以專門定義一個函數(shù)處理生成你需要的格式
第二種方法:
- 我們可以預(yù)先在word文檔中設(shè)置好一個自己想要的格式,
- 然后將paragraph的style整體替換,
- 通過這種方法,我們能夠保留更全面的細節(jié)
實現(xiàn)
第一種方法
查閱你的word預(yù)先設(shè)置的字體以及段落格式名稱通過
#設(shè)置本字段為加粗/斜體/下劃線 docx.paragraphs[0].runs[0].bold = True #加粗 docx.paragraphs[0].runs[0].italic = True #斜體 docx.paragraphs[0].runs[0].underline= True #下劃線 #設(shè)置字體大小為10磅 docx.paragraphs[0].runs[0].font.Size = Pt(10) #10磅 #設(shè)置段落間距等 docx.paragraphs[0].paragraph_format.left_indent = Cm(3) #左間隔3厘米 docx.paragraphs[0].paragraph_format.right_indent = Cm(3) #右間隔3厘米 docx.paragraphs[0].paragraph_format.line_spacing_rule(WD_LINE_SPACING.DOUBLE) #兩倍行間距 docx.paragraphs[0].paragraph_format.space_after = Pt(6) #段后6磅 ... ...
其他實現(xiàn)方法可以查閱源碼run.py,paragraph.py以及parfmt.py三個文件
接下來說一下第二種方法
第二種方法
個人比較喜歡第二種方法,預(yù)先在word中設(shè)置好style,然后直接通過python,將想要轉(zhuǎn)換為特定格式的文檔直接全部替換格式。
通過word創(chuàng)建格式,有交互界面,能更直觀得創(chuàng)建出自己想要的格式,實現(xiàn)如下:
#直接將style對象替換掉 docx.paragraphs[0].style = Styles.get_by_id(style_id, style_type) #style_id一般是用戶創(chuàng)建的格式名字去掉所有空格的形式 #style_type一般是WD_STYLE_TYPE.PARAGRAPH(作為段落格式創(chuàng)建)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素
這篇文章主要介紹了比較兩個numpy數(shù)組并實現(xiàn)刪除共有的元素,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
Python中l(wèi)ambda的用法及其與def的區(qū)別解析
這篇文章主要介紹了Python中l(wèi)ambda的用法及其與def的區(qū)別解析,需要的朋友可以參考下2014-07-07
Python調(diào)用http-post接口的實現(xiàn)方式
這篇文章主要介紹了Python調(diào)用http-post接口的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Python實現(xiàn)基于二叉樹存儲結(jié)構(gòu)的堆排序算法示例
這篇文章主要介紹了Python實現(xiàn)基于二叉樹存儲結(jié)構(gòu)的堆排序算法,結(jié)合實例形式分析了Python二叉樹的定義、遍歷及堆排序算法相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-12-12
python cv2.resize函數(shù)high和width注意事項說明
這篇文章主要介紹了python cv2.resize函數(shù)high和width注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

