python-docx文檔格式修改方式
python-docx文檔格式修改
今天,依然使用python-docx庫(kù)來(lái)操作docx文檔。
這一次,我們想要講文檔中的某種格式直接替換為我們指定的格式。
思路
第一種方法:
- 我們知道paragraph支持段落/字體的設(shè)置
- 于是我們可以專門(mén)定義一個(gè)函數(shù)處理生成你需要的格式
第二種方法:
- 我們可以預(yù)先在word文檔中設(shè)置好一個(gè)自己想要的格式,
- 然后將paragraph的style整體替換,
- 通過(guò)這種方法,我們能夠保留更全面的細(xì)節(jié)
實(shí)現(xiàn)
第一種方法
查閱你的word預(yù)先設(shè)置的字體以及段落格式名稱通過(guò)
#設(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磅 ... ...
其他實(shí)現(xiàn)方法可以查閱源碼run.py,paragraph.py以及parfmt.py三個(gè)文件
接下來(lái)說(shuō)一下第二種方法
第二種方法
個(gè)人比較喜歡第二種方法,預(yù)先在word中設(shè)置好style,然后直接通過(guò)python,將想要轉(zhuǎn)換為特定格式的文檔直接全部替換格式。
通過(guò)word創(chuàng)建格式,有交互界面,能更直觀得創(chuàng)建出自己想要的格式,實(shí)現(xiàn)如下:
#直接將style對(duì)象替換掉 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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
比較兩個(gè)numpy數(shù)組并實(shí)現(xiàn)刪除共有的元素
這篇文章主要介紹了比較兩個(gè)numpy數(shù)組并實(shí)現(xiàn)刪除共有的元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教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接口的實(shí)現(xiàn)方式
這篇文章主要介紹了Python調(diào)用http-post接口的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Python實(shí)現(xiàn)基于二叉樹(shù)存儲(chǔ)結(jié)構(gòu)的堆排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)基于二叉樹(shù)存儲(chǔ)結(jié)構(gòu)的堆排序算法,結(jié)合實(shí)例形式分析了Python二叉樹(shù)的定義、遍歷及堆排序算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12
python cv2.resize函數(shù)high和width注意事項(xiàng)說(shuō)明
這篇文章主要介紹了python cv2.resize函數(shù)high和width注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
使用Python實(shí)現(xiàn)批量發(fā)送個(gè)性化郵件
在現(xiàn)代工作環(huán)境中,我們經(jīng)常需要向多個(gè)收件人發(fā)送個(gè)性化的郵件,因此本文小編為大家整理了Python實(shí)現(xiàn)批量發(fā)送個(gè)性化郵件的示例代碼,希望對(duì)大家有所幫助2023-11-11

