liuhongrun2022 发表于 2022-10-8 17:40:53

一个小学生做的PDF转Word程序

本帖最后由 liuhongrun2022 于 2023-1-31 17:19 编辑

公告:已发布v2.0版本,此程序停止维护
帖子链接 -> https://fishc.com.cn/thread-222717-1-1.html
编程环境
Python版本: 3.10.5
Python版本小于 3.6.0 不能运行
如果您使用的是 3.6.0 以下的版本
请在第43行把f字符串
desktop_path = f'C:/Users/{user_name}/Desktop/test.docx'
改成
desktop_path = 'C:/Users/{}/Desktop/test.docx'.format(user_name)
就可以正常运行

所需要的第三方库:pdf2docx
安装:
pip install pdf2docx
源码
from tkinter import *
import os
import tkinter.messagebox as msgbox
from pdf2docx import Converter
import tkinter.filedialog as tf

def pdf_to_words_tk():
    # 创建PDF批量转Word的窗口
    window = Tk()
    window.title('批量PDF转Word')
    window.geometry('300x100')
    button1 = Button(window, text='PDF转Word', command=pdf_to_words, fg='blue')
    button1.pack()
    button2 = Button(window, text='帮助', command=pdfhelp, fg='green')
    button2.pack()
    window.mainloop()

def pdf_to_words():
    folder = tf.askdirectory() # 选择文件夹

    for file in os.listdir(folder): # 遍历文件
      suff_name = os.path.splitext(file) # 分离出扩展名
      if suff_name != '.pdf': # 如果不是PDF文档就退出
            continue
      file_name = os.path.splitext(file) # 分离出文件名
      pdf_file = folder + '\\' + file
      word_file = folder + '\\' + file_name + '.docx' # 进行转义并加上扩展名
      cv = Converter(pdf_file) # 转成Word
      cv.convert(word_file)
      cv.close()

def pdf_to_word_tk():
    # 创建PDF单个转Word的窗口
    dan = Tk()
    dan.title('PDF单文件转Word')
    dan.geometry('300x100')
    r = Button(dan, text='选择文件', command=pdf_to_word).pack(padx=10, pady=10)

def pdf_to_word():
    filename = tf.askopenfilename() # 获取文件
    user_name = os.getlogin() # 获取你的用户名
    desktop_path = f'C:/Users/{user_name}/Desktop/test.docx' # docx文件路径,默认设置在桌面
    cv = Converter(filename)
    cv.convert(desktop_path)
    cv.close()

def pdfhelp():
    msgbox.showinfo('批量选择文件模式', '打开有PDF文档的文件夹,程序会自动识别里面的PD'\
                        'F文档,点击“PDF转Word”按钮,就可以全部转换文件夹里的文档。')


if __name__ == '__main__': # 当作为程序运行时
    root = Tk()
    root.title('PDF转Word')
    root.geometry('250x50')

    menu = Menu(root)
    menu_main = Menu(menu)
    menu_main.add_command(label='批量PDF转Word', command=lambda: pdf_to_words_tk())
    menu_main.add_command(label='单个PDF文件转Word', command=lambda: pdf_to_word_tk())
    menu.add_cascade(label='操作', menu=menu_main)
    root.config(menu=menu)

    root.mainloop()


制作不易,还望各位鱼油们积极评分!
https://gitee.com/liu12073/mypic/raw/master/img/202301141350513.jpeg

myqf123 发表于 2022-10-8 19:19:00

顶一个

Mike_python小 发表于 2022-12-30 15:15:11

还有..............就是我想要客户端,你看行不行?不行就算了。


刚看见,最后会公布客户端的(不然我发这个干嘛{:10_256:}

还是说你现在要{:10_254:}

liuhongrun2022 发表于 2022-12-30 18:38:12

Mike_python小 发表于 2022-12-30 15:15
刚看见,最后会公布客户端的(不然我发这个干嘛

还是说你现在要

我想现在要{:10_254:}
对了,我的pdf转word2.0做好了(测试版)
预计1月9日发布

简单滴滴 发表于 2022-12-30 19:14:59

这是小学生?

liuhongrun2022 发表于 2023-1-16 16:46:22

简单滴滴 发表于 2022-12-30 19:14
这是小学生?

是的{:10_256:}

1人 发表于 2023-1-16 17:01:51

厉害的小学生{:5_109:}

陶远航 发表于 2023-8-25 11:08:02

支持{:10_256:}
页: [1]
查看完整版本: 一个小学生做的PDF转Word程序