用Python實(shí)現(xiàn)給Word文檔蓋章
目標(biāo)文件夾內(nèi)有多份 Word 文件 ——【xxx漲薪通告.docx】,我們需要在這些文檔的末尾處添加公司的電子章與公司名稱。
這次的任務(wù)困難嗎?手動(dòng)操作起來其實(shí)很簡單,無非就是先打開一個(gè)文檔,接著在結(jié)尾處添加文字蓋章:并且插入電子章圖片,然后另起一行,添加公司名稱閃光科技金融公司(Shining Fintech Company),將公司名稱的字號設(shè)置為四號,字體加粗,右對齊;完成這些操作后,復(fù)制這些文字和圖片,最后保存文檔。
實(shí)現(xiàn)代碼:
import os from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.shared import Pt # 設(shè)置目標(biāo)文件夾路徑 path = "../工作/漲薪通告-練習(xí)/" # 獲取目標(biāo)文件夾下的所有文件名 file_list = os.listdir(path) for file in file_list: # 拼接文件路徑 file_path = path + file # 打開 Word 文件 doc = Document(file_path) # 添加 Paragraph 對象 para_1 para_1 = doc.add_paragraph('蓋章: ') # 添加 Run 對象 run_stamp run_stamp = para_1.add_run() run_stamp.add_picture("./Shining.png") # 添加 Paragraph 對象 para_2 para_2 = doc.add_paragraph() # 設(shè)置對齊方式 para_2.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.RIGHT # 添加 Run 對象 run_comp run_comp = para_2.add_run('閃光科技金融公司(Shining Fintech Company)') # 設(shè)置字體 run_comp.font.size = Pt(14) # 字體大小 run_comp.font.bold = True # 字體加粗 # 保存文件 doc.save(file_path)
本次代碼的詳細(xì)流程圖如下所示:
值得一提的是,流程圖中添加文字的邏輯對應(yīng)了簡化版的代碼。
你也可以使用常規(guī)版的流程(添加 Paragraph 對象 -> 添加 Run 對象 -> 添加文字)來添加文字。
本次項(xiàng)目需要使用到的新語法如下圖所示:
模塊分解
接著就可以打開下一個(gè)文檔,在文檔的最后粘貼剛才的文字和圖片,然后保存并關(guān)閉文檔。一直重復(fù)此操作,直到處理完所有的文檔。
然后再讓屬性 font 調(diào)用 size,根據(jù)上面的表格,將導(dǎo)入的 Pt 設(shè)置好后賦值給 size 就可以設(shè)置字體的大小了。
具體寫法如下所示:
from docx.shared import Pt # 設(shè)置字體大小 Run 對象.font.size = Pt(14) # 字體大小
設(shè)置加粗
設(shè)置字體加粗的方式特別簡單,一行代碼就可以解決。
我們可以通過屬性 font 調(diào)用 bold,然后將值設(shè)置為 True 即可。
具體寫法如下所示:
# 設(shè)置字體加粗 Run 對象.font.bold = True # 字體加粗
font 屬性還有很多其他功能,常用的還有給字體加下劃線、刪除線、斜體、顏色、指定字體等,只是他們與本項(xiàng)目無關(guān),這里就用圖片簡單介紹一下,感興趣的自己去操作。
功能塊練習(xí)
這個(gè)功能塊都是些記憶性的知識,寫代碼的時(shí)候記得參考上面的那些示例代碼,照貓畫虎就可以實(shí)現(xiàn)添加帶樣式的文字
這個(gè)功能塊了。
from docx import Document # 導(dǎo)入控制對齊方式所需 from docx.enum.text import WD_ALIGN_PARAGRAPH # 導(dǎo)入控制字體大小所需 from docx.shared import Pt # 設(shè)置文件路徑 file_path = './馬邦德漲薪通告.docx' # 打開文檔 doc = Document(file_path) # 添加段落2 para = doc.add_paragraph() # 設(shè)置對齊方式 para.paragraph_format.alignment=WD_ALIGN_PARAGRAPH.RIGHT # 添加 run_comp run_comp = para.add_run("閃光金融公司(Shining Finance Company)") # 設(shè)置字體大小為 14pt run_comp.font.size=Pt(14) # 設(shè)置字體加粗 run_comp.font.bold=True # 保存文件 doc.save('./添加帶樣式的文字.docx')
運(yùn)行效果:
一定要記住,設(shè)置字體要在 Run 對象中進(jìn)行,不要越俎代庖。Paragraph 對象的屬性管段落在文檔中的位置,Run 對象的屬性負(fù)責(zé)文字在段落中的樣式。分工明確,各司其職。
知識歸納與總結(jié)
本節(jié)是對使用 python-docx 處理 Word 文件的知識講解。
首先是 python-docx 會將 Word 文件分為三個(gè)層級:Document 對象、Paragraph 對象和 Run 對象。
然后是添加文字的兩種方法:
添加圖片可以使用Run 對象.add_picture(path)。
另外需要銘記的是:
設(shè)置段落的排版與布局,需要使用 Paragraph 對象的屬性:paragraph_format。
設(shè)置文字的字體樣式,需要使用 Run 對象的屬性:font。
最后來看看本節(jié)的知識點(diǎn)思維導(dǎo)圖。
總結(jié)
到此這篇關(guān)于用Python實(shí)現(xiàn)給Word文檔蓋章的文章就介紹到這了,更多相關(guān)Python Word文檔蓋章內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用Python實(shí)現(xiàn)流星雨效果的方法詳解
這篇文章主要為大家介紹了Python實(shí)現(xiàn)流星雨效果的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>2021-12-12python之如何使用openpyxl設(shè)置單元格樣式
這篇文章主要介紹了python之如何使用openpyxl設(shè)置單元格樣式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06網(wǎng)易有道2017內(nèi)推編程題 洗牌(python)
這篇文章主要為大家詳細(xì)介紹了網(wǎng)易有道2017內(nèi)推編程題:洗牌,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06