Python實(shí)現(xiàn)批量將word轉(zhuǎn)換成pdf
語(yǔ)言:python 3
用法:點(diǎn)擊運(yùn)行后,彈出窗口選擇word文檔所在文件夾,程序運(yùn)行后對(duì)該文件夾下所有的word文件全部轉(zhuǎn)換成pdf文件,生成的pdf文件名字與原wrod文件相同。
如運(yùn)行中報(bào)錯(cuò),需要自行根據(jù)報(bào)錯(cuò)內(nèi)容按照缺失的庫(kù)
例如:
#安裝庫(kù) pip install pyautogui #安裝庫(kù) pip install pillow
完整代碼如下:
import os
import glob
from tkinter import Tk
from tkinter.filedialog import ask directory
from win32com.client import DispatchEx
#打開(kāi)選擇目錄的對(duì)話框
Tk().withdraw()#隱藏Tkinter根窗口
word_dir=askdirectory(title="選擇Word文件所在目錄")
#獲取當(dāng)前目錄
current_dir=os.getcwd()
#遍歷目錄中的Word文件
#word_files=glob.glob(os.path.join(word_dir,"*.docx;*.doc;*.dotx"))
word_files=[]
forfileinos.listdir(word_dir):
iffile.endswith(".docx")orfile.endswith(".doc")orfile.endswith(".dotx"):
word_files.append(os.path.join(word_dir,file))
#將Word文件轉(zhuǎn)換為PDF并保存到當(dāng)前目錄
pdf_files=[]
#創(chuàng)建Word應(yīng)用程序?qū)ο?
word_app=DispatchEx("Word.Application")
forword_fileinword_files:
print('{}查找到')
pdf_file=os.path.join(word_dir,os.path.splitext(os.path.basename(word_file))[0]+".pdf")
doc=word_app.Documents.Open(word_file)
doc.SaveAs(pdf_file,FileFormat=17)
doc.Close()
pdf_files.append(pdf_file)
print(f'轉(zhuǎn)換完成:{word_file}')
#關(guān)閉Word應(yīng)用程序
word_app.Quit()知識(shí)補(bǔ)充
有時(shí)候需要快速查看word文檔的內(nèi)容是否自己需要的,或者就是單純需要將word文檔轉(zhuǎn)換成一張張圖片。
所以除了批量將word文檔轉(zhuǎn)換成pdf文件,還為大家整理了Python批量實(shí)現(xiàn)將word文件轉(zhuǎn)換成多張圖片的示例代碼,需要的可以參考下
思路:word文檔直接生成圖片比較蠻煩,可能會(huì)引起格式變化,就先將word文檔轉(zhuǎn)換成PDF,然后將PDF文檔轉(zhuǎn)換成圖片。
語(yǔ)言:python 3
用法:點(diǎn)擊運(yùn)行后,彈出窗口選擇文件夾,程序運(yùn)行后會(huì)將該文件夾下所有word文檔依次轉(zhuǎn)換成PDF文檔——PDF文檔生成圖片——刪除PDF文檔——繼續(xù)處理下一個(gè)word文檔。
如運(yùn)行中報(bào)錯(cuò),需要自行根據(jù)報(bào)錯(cuò)內(nèi)容按照缺失的庫(kù)
例如:
#安裝庫(kù) pip install pyautogui #安裝庫(kù) pip install pillow
完整代碼如下:
#遍歷目錄及子文件夾中的word文件
import os
import glob
from tkinter import Tk
from tkinter.filedialog import askdirectory
from win32com.client import DispatchEx
from pdf2image import convert_from_path
# 打開(kāi)選擇目錄的對(duì)話框
Tk().withdraw() # 隱藏Tkinter根窗口
word_dir = askdirectory(title="選擇Word文件所在目錄")
# 遍歷目錄及子文件夾中的Word文件
word_files = []
for root, dirs, files in os.walk(word_dir):
for file in files:
if file.endswith(".docx") or file.endswith(".doc") or file.endswith(".dotx"):
word_files.append(os.path.join(root, file))
# 創(chuàng)建Word應(yīng)用程序?qū)ο?
word_app = DispatchEx("Word.Application")
# 遍歷Word文件進(jìn)行轉(zhuǎn)換
for word_file in word_files:
print(f'轉(zhuǎn)換中:{word_file}')
# 轉(zhuǎn)換為PDF并保存到Word所在目錄
pdf_file = os.path.splitext(word_file)[0] + ".pdf"
doc = word_app.Documents.Open(word_file)
doc.SaveAs(pdf_file, FileFormat=17)
doc.Close()
# 將PDF轉(zhuǎn)換為圖片
images = convert_from_path(pdf_file)
# 保存圖片
for i, image in enumerate(images):
image_file = os.path.splitext(pdf_file)[0] + f"_page_{i+1}.jpg" # 設(shè)置圖片文件名
image.save(image_file, "JPEG")
print(f"保存圖片:{image_file}")
# 刪除PDF文件
os.remove(pdf_file)
print(f"刪除PDF文件:{pdf_file}")
# 關(guān)閉Word應(yīng)用程序
word_app.Quit()到此這篇關(guān)于Python實(shí)現(xiàn)批量將word轉(zhuǎn)換成pdf的文章就介紹到這了,更多相關(guān)Python word轉(zhuǎn)pdf內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實(shí)現(xiàn)Word批量轉(zhuǎn)PDF的小工具
- Python中PDF轉(zhuǎn)Word的多種實(shí)現(xiàn)方法
- Python將Word文檔轉(zhuǎn)為PDF的兩種方法
- Python將Office文檔(Word、Excel、PDF、PPT)轉(zhuǎn)為OFD格式的實(shí)現(xiàn)方法
- Python實(shí)現(xiàn)PDF轉(zhuǎn)Word的多種方式總結(jié)
- Python實(shí)現(xiàn)批量word文檔轉(zhuǎn)pdf并統(tǒng)計(jì)其頁(yè)碼
- 如何利用Python將html轉(zhuǎn)為pdf、word文件
- 使用Python輕松實(shí)現(xiàn)Word批量轉(zhuǎn)換為PDF
相關(guān)文章
Python使用matplotlib實(shí)現(xiàn)基礎(chǔ)繪圖功能示例
這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)基礎(chǔ)繪圖功能,結(jié)合實(shí)例形式分析了Python基于matplotlib實(shí)現(xiàn)正弦、余弦圖形及多軸圖的相關(guān)繪制操作技巧,需要的朋友可以參考下2018-07-07
在Pycharm中修改文件默認(rèn)打開(kāi)方式的方法
今天小編就為大家分享一篇在Pycharm中修改文件默認(rèn)打開(kāi)方式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Python collections中的雙向隊(duì)列deque簡(jiǎn)單介紹詳解
這篇文章主要介紹了Python collections中的雙向隊(duì)列deque簡(jiǎn)單介紹詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
解決Python設(shè)置函數(shù)調(diào)用超時(shí),進(jìn)程卡住的問(wèn)題
今天小編就為大家分享一篇解決Python設(shè)置函數(shù)調(diào)用超時(shí),進(jìn)程卡住的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
pymongo為mongodb數(shù)據(jù)庫(kù)添加索引的方法
這篇文章主要介紹了pymongo為mongodb數(shù)據(jù)庫(kù)添加索引的方法,涉及Python操作mongodb數(shù)據(jù)庫(kù)的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05
Python調(diào)用DeepSeek?API實(shí)現(xiàn)對(duì)本地?cái)?shù)據(jù)庫(kù)的AI管理
這篇文章主要為大家詳細(xì)介紹了Python如何基于DeepSeek模型實(shí)現(xiàn)對(duì)本地?cái)?shù)據(jù)庫(kù)的AI管理,文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
如何用python?GUI(tkinter)寫(xiě)一個(gè)鬧鈴小程序(思路詳解)
這篇文章主要介紹了用python?GUI(tkinter)寫(xiě)一個(gè)鬧鈴小程序思路詳解,涉及到tkinter一些函數(shù)控件,數(shù)據(jù)的類的封裝,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
python畫(huà)圖時(shí)給圖中的點(diǎn)加標(biāo)簽和plt.text的使用
這篇文章主要介紹了python畫(huà)圖時(shí)給圖中的點(diǎn)加標(biāo)簽和plt.text的使用,利用matplotlib模塊畫(huà)各城市2019-nCoV疫情確診人數(shù)和節(jié)前流入人口數(shù)的圖的時(shí)候遇到了要給圖中的點(diǎn)加上標(biāo)簽示意,需要的朋友可以參考一下2022-03-03

