iT邦幫忙

0

Python學習筆記: 將word文件doc或docx檔批次轉成pdf檔

  • 分享至 

  • xImage
  •  

本文同步發表於小弟自架網站(非釣魚也無廣告,純分享):

微確幸資訊站

工作上的需求要收各單位的資料,做成會議議程,
但各單位給的資料通常檔案很亂,而且給的word檔案,
有的是舊版,有的是新版。

雖然word檔案開啟後,可以存成pdf檔,
但有用過這種方法的網友就會知道,其實有點花時間,
尤其是要處理很多檔案的時候,太浪費時間了。

首先看一下目標資料夾的狀況:
https://ithelp.ithome.com.tw/upload/images/20230524/201223351t89qKslyE.jpg

接下來就來用程式處理了:

import os
import re
import win32com.client as win32
​
# 設定目標資料夾
path = 'D:\\temp\\test'
files = os.listdir(path)
​
for file in files:
    # 將檔案名稱以regex分成2組,第1組是附件開頭的檔名,第2組是附檔名為doc或docx
    pattern = '(附件\d+-\d_.+)(.docx?$)'
    target = re.findall(pattern, file)
    if target:
        print(file)
        
        # target[0][0]是目標檔案名稱,target[0][1]是doc或docx的附檔名
        in_file = path + "\\" + target[0][0] + target[0][1]
        
        # 處理完的檔案,附檔名改成pdf
        out_file = path + "\\" + target[0][0] + ".pdf"
        
        word = win32.DispatchEx("Word.Application")
        doc = word.Documents.Open(in_file)
        
        doc.SaveAs(out_file, FileFormat=17) # FileFormat=17 是存成pdf檔
        doc.Close()
        word.Quit()
print('-------------------------')
print('所有word檔轉換pdf檔:已完成')

執行結果:

附件1-1_侯茹康.docx
附件1-3_王冠恭.docx
附件10-1_陳彥雄.docx
附件10-2_陳婉明.docx
附件10-3_周與均.docx
附件10-4_徐淑萍.docx
附件10-5_王孟勳.docx
附件11-1_李政孝.docx
附件11-2_沈靜怡.docx
附件12-1_林怡靜.docx
附件12-2_林建來.docx
附件12-3_邰秀玲.docx
附件12-4_陳君謙.doc
附件12-6_孫維倫.doc
附件12-7_吳嘉茂.docx
附件12-8_陳秀美.doc
附件13-1_李孟珮.docx
附件13-2_袁惠文.docx
附件14-1_尹喬合.docx
附件2-1_陳淑惠.doc
附件3-1_翁映龍.docx
附件3-2_林國偉.docx
附件4-1_林柏宏.docx
附件5-1_周鈞雨.docx
附件5-2_方維哲.docx
附件5-3_吳孟任.docx
附件6-1_趙香福.doc
附件6-2_吳貞行.docx
附件7-1_於向誠.docx
附件7-3_林敬和.docx
附件8-1_程睿芬.doc
附件8-2_姜淑芬.doc
附件8-3_杜馥治.doc
附件9-1_梁紫廷.doc
附件9-2_黃淑苓.doc

所有word檔轉換pdf檔:已完成

目標資料夾處理後的結果:
https://ithelp.ithome.com.tw/upload/images/20230524/20122335yeXl2He2Oh.jpg

以上即完成本次目標。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言