创建pdf转word应用

起因

老婆求助:需要pdf转word,必须第一时间响应。
这么简单的功能,在网上找了一圈,几乎都是会员、收费。
这么简单的功能,git一下,完全可以自己搭建起来。

开源

git一下找到开源代码:pdf2docx
python的,能满足常规的转换

测试

简单的撸一个代码,参考如下链接:Convert PDF

1
2
3
4
5
6
7
8
9
from pdf2docx import Converter

pdf_file = '/path/to/sample.pdf'
docx_file = 'path/to/sample.docx'

# convert pdf to docx
cv = Converter(pdf_file)
cv.convert(docx_file) # all pages by default
cv.close()

安装依赖包

1
pip install requests

运行

1
python test.py

结果
python-test
转换前
pdf
转换后
word
转换还是比较成功的,其中水印都取消了(比较NB的textin会把水印也转成文字textin的1000次内免费

程序

如果每次使用都需要修改代码,比较麻烦,就利用chatgpt写一个应用程序
打开自己搭建的ChatGPT,让它帮忙写一个桌面程序

ChatGPT

直接复制代码,都不会报错,一次性通过

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import tkinter as tk
from tkinter import filedialog
from pdf2docx import Converter

# 创建窗口
window = tk.Tk()
window.title("PDF转Word")
window.geometry("300x200")

# 创建上传文件按钮的回调函数
def upload_file():
# 弹出文件选择对话框
file_path = filedialog.askopenfilename(filetypes=[("PDF Files", "*.pdf")])
if file_path:
# 转换PDF到Word
docx_path = file_path.replace(".pdf", ".docx")
cv = Converter(file_path)
cv.convert(docx_path, start=0, end=None)
cv.close()

# 显示转换完成消息框
tk.messagebox.showinfo("完成", "转换成功!保存为:" + docx_path)

# 创建上传文件按钮
upload_button = tk.Button(window, text="上传文件", command=upload_file)
upload_button.pack(pady=20)

# 运行窗口事件循环
window.mainloop()

运行界面
python-exe

打包成EXE

1
pyinstaller --onefile p2w.py

注意源代码名字需要改下,test.py打包老是失败,改成其他名字就OK了。
然后dist目录下边就出现exe文件了,到这里基本都能满足需求了。
打包好的文件直接下载 p2w.exe