一个小学生做的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
顶一个 还有..............就是我想要客户端,你看行不行?不行就算了。
刚看见,最后会公布客户端的(不然我发这个干嘛{:10_256:}
还是说你现在要{:10_254:} Mike_python小 发表于 2022-12-30 15:15
刚看见,最后会公布客户端的(不然我发这个干嘛
还是说你现在要
我想现在要{:10_254:}
对了,我的pdf转word2.0做好了(测试版)
预计1月9日发布
这是小学生? 简单滴滴 发表于 2022-12-30 19:14
这是小学生?
是的{:10_256:} 厉害的小学生{:5_109:} 支持{:10_256:}
页:
[1]