PDF转Word

PDF文件转换为Word文件:

from pdf2docx import Converter
import os
import tkinter as tk
import tkinter.messagebox
from tkinter import filedialog,dialog
import threading   #线程
#设置GUI
Ppath='NA'
opath='NA'
def pdf():
    global Ppath
    Ppath=filedialog.askdirectory()
    en1.insert('insert',Ppath)
    print(Ppath)
def outf():
    global opath
    opath=filedialog.askdirectory()
    en3.insert('insert',opath)
def thread_it(func, *args): 
    '''将函数打包进线程'''
    # 创建
    t = threading.Thread(target=func, args=args) 
    # 守护 !!!
    t.setDaemon(True) 
    # 启动
    t.start()
    # 阻塞--卡死界面!
def PTW():
    try: #用于输出错误信息
        global Ppath,opath,tel
        Ppath=en1.get()  
        opath=en3.get()  #获取输出路径
        print(Ppath,opath)
        filename=os.listdir(Ppath)
        for name in filename:
            print(name)
            te1.insert('insert',name)
            te1.insert('insert','\n')
            te1.see('end')
            pdfpath=Ppath+'\\'+name
            wordpath=opath+'\\'+name[1:-4]+'.docx'
            cv = Converter(pdfpath)
            cv.convert(wordpath)
            cv.close()
#保存输出文件,弹窗提示运行完成
        tk.messagebox.showinfo('提示','运行完成')
#若运行出错,输出报错信息
    except Exception as e: te1.insert('insert',e)    




window=tk.Tk()
window.geometry('800x500')
window.title('PDF转Word')
bu2=tk.Button(window,text='点击选择PDF文件夹:',width=25,command=pdf)
bu2.grid(row=0,column=0)
en1=tk.Entry(window,width=70)
en1.grid(row=0,column=1)
bu3=tk.Button(window,text='点击选择结果输出文件夹:',width=25,command=outf)
bu3.grid(row=2,column=0)
en3=tk.Entry(window,width=70)
en3.grid(row=2,column=1)
te1=tk.Text(window)
te1.grid(row=4,column=1)
bu1=tk.Button(window,text='运行程序',command=lambda:thread_it(PTW))
bu1.grid(row=3,column=1)
lab3=tk.Label(window,text='程序运行信息:')
lab3.grid(row=4,column=0)


window.mainloop()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值