寧波做網(wǎng)站費(fèi)用網(wǎng)站開發(fā)是做什么的
一、效果樣式
二、核心點(diǎn)
1. 使用pdf2docx
完成PDF
轉(zhuǎn)換Word
安裝pdf2docx可能會(huì)報(bào)錯(cuò),安裝完成引入from pdf2docx import Converter
運(yùn)行也可能報(bào)錯(cuò),可以根據(jù)報(bào)錯(cuò)提示看缺少那些庫(kù),先卸載pip uninstall xxx
,使用pip install python-docx -i https://pypi.douban.com/simple/
進(jìn)行指定下載路徑安裝。
2. text
組件禁止鍵盤鼠標(biāo)點(diǎn)擊編輯
使用bind
對(duì)<Key><Button-1>
進(jìn)行事件綁定
tipText.bind("<Key>",lambda event:"break")
tipText.bind("<Button-1>",lambda event:"break")
3. tkinter頁(yè)面實(shí)時(shí)輸出顯示,并且定位到最下面
#更新text組件
tipText.update()
#實(shí)時(shí)定位到下面
tipText.see(END)
4. 打開文件夾路徑
使用filedialog
from tkinter import filedialog# 打開文件夾選擇對(duì)話框
folder_path = filedialog.askdirectory()
三、完整代碼
import os
from pdf2docx import Converter
from tkinter import *
import time
from tkinter import filedialog# 批量轉(zhuǎn)換word
def pdf_docx():# 遍歷所有文件file_path = folderInput.get("1.0", "end-1c")i = 0for file in os.listdir(file_path):# 獲取文件后綴suff_name = os.path.splitext(file)[1]# 過(guò)濾非pdf格式文件if suff_name != '.pdf':continue# 獲取文件名稱i+=1file_name = os.path.splitext(file)[0]# pdf文件名稱pdf_name = file_path + '\\' + file# 要轉(zhuǎn)換的docx文件名稱docx_name = file_path + '\\' + file_name + '.docx'# 加載pdf文檔tipText.insert(INSERT,"正在轉(zhuǎn)換文件:\n")tipText.insert(INSERT,f"{file_name}.pdf\n")time.sleep(0.1)tipText.insert(END,"正在轉(zhuǎn)換,請(qǐng)稍等... \n")tipText.see(END)folderInput.update()cv = Converter(pdf_name)cv.convert(docx_name)cv.close()tipText.insert(END,"轉(zhuǎn)換完成! \n \n")tipText.see(END)tipText.insert(END,f"一共轉(zhuǎn)換了{i}個(gè)PDF文件,請(qǐng)返回文件夾目錄進(jìn)行查看轉(zhuǎn)換的Word文件!")
# 選擇文件夾的邏輯
def choose_folder():# 打開文件夾選擇對(duì)話框folder_path = filedialog.askdirectory()# 更新標(biāo)簽文本# print(folder_path)folderInput.insert(END,folder_path)# GUI頁(yè)面
root = Tk()
root.title("PDF轉(zhuǎn)Word工具")
root.geometry("600x400")
root.resizable(False, False)# 布局框架
fr = Frame(root).pack(anchor = 'nw')
folderInput = Text(fr,width=30,height=1, font=('Arial', 14))
folderInput.place(x=40,y=20)
folderInput.bind("<Key>",lambda event:"break")
folderInput.bind("<Button-1>",lambda event:"break")
folder = Button(fr,text='選擇文件夾', command=choose_folder).place(x=400,y=18)
conver = Button(fr,text='批量轉(zhuǎn)換', command=pdf_docx).place(x=500,y=18)
tipText = Text(fr,width=74,height=22,padx=2, pady=2)
tipText.place(x=40,y=80)
tipText.bind("<Key>",lambda event:"break")
tipText.bind("<Button-1>",lambda event:"break")
tipText.insert(INSERT,'歡迎使用PDF轉(zhuǎn)換Word工具! \n\n')mainloop()
**使用pyinstaller打包時(shí)建議使用 pyinstaller -w .\pdftoword.py
命令,這樣打開運(yùn)行程序不顯示終端窗口,更加友好