【AI+编程】使用chatGPT AI工具Python语言从0到1完成pdf转docx小工具

昨天运营同学问我一个问题,能不能把一个pdf转换成 docx 。

我给他提供了2种方式。一是用 PDF Reader PRO软件, 一个是WPS会员(普通用户只能转换3页)。

休息间隙,脑海里冒出一个想法。能不能用python写一个pdf转换docx小工具呢。说干就干。

有了AI工具后,自己变懒了。让chatGPT帮我写。

角色:你是一个python编程高手,请编写 pdf转docx并打包成 mac和windows可执行文件的代码.

复制代码
将PDF转换为DOCX文件并创建一个可执行程序包是一个复杂的任务,涉及多个步骤。要完成这个任务,先需要编写Python脚本来处理PDF到DOCX的转换。然后,使用PyInstaller或其他类似库将这个Python脚本打包成适用于Mac和Windows的可执行文件。这里是一个基本的Python脚本示例,使用了pdf2docx库来执行转换:首先,安装必要的包:bashpip install pdf2docx pyinstaller以下是转换脚本 pdf_to_docx.py 的一个示例:pythonimport sysfrom pdf2docx import Converter
def convert_pdf_to_docx(pdf_path, docx_path):    cv = Converter(pdf_path)    cv.convert(docx_path, start=0, end=None)    cv.close()    print(f"Converted {pdf_path} to {docx_path}")
if __name__ == '__main__':    if len(sys.argv) < 3:        print("Usage: python pdf_to_docx.py input.pdf output.docx")    else:        pdf_path = sys.argv[1]        docx_path = sys.argv[2]        convert_pdf_to_docx(pdf_path, docx_path)接下来,你可以使用PyInstaller将此脚本打包成可执行文件。对于Windows环境:bashpyinstaller --onefile pdf_to_docx.py对于Mac环境,你可以在Mac中运行相同的命令,但可能还需要适配到Mac运行的环境设置。PyInstaller会在项目目录下的dist文件夹中创建可执行文件。这样,你可以将生成的可执行文件分发给Windows或Mac用户,他们可以不需要安装Python环境就能运行程序进行PDF到DOCX的转换。请注意,生成的可执行文件是平台特定的,也就是说,你需要在Windows上生成Windows的可执行文件,在Mac上生成Mac的可执行文件。此外,可执行文件的打包过程可能会因为你的系统和环境配置的不同而有所差异,例如,如果你使用的Mac系统版本为 Catalina 或更高,你可能需要对 PyInstaller 打包过程做些调整,以解决兼容性问题。在完成上述步骤之后,任何使用这些可执行文件的用户应该能够无需Python环境就能将PDF文件转换为DOCX格式。这个脚本非常简单,不包括错误检查和复杂的命令行接口,对于实际应用,你可能需要添加更多的功能以更好地服务于用户。

请在上面基础上, 添加图形图界面上传pdf,增加loading界面,并下载docx的功能

复制代码
import tkinter as tkfrom tkinter import filedialog, messageboxfrom pdf2docx import Converterimport threading

def convert_pdf_to_docx(pdf_path, docx_path):    try:        cv = Converter(pdf_path)        cv.convert(docx_path, start=0, end=None)        cv.close()        messagebox.showinfo("成功", f"'{pdf_path}' 被转换为 '{docx_path}'")    except Exception as e:        messagebox.showerror("错误", str(e))    finally:        loading_label.pack_forget()        convert_button['state'] = 'normal'

def thread_convert_pdf_to_docx(pdf_path, docx_path):    threading.Thread(target=convert_pdf_to_docx, args=(pdf_path, docx_path)).start()

def select_pdf():    file_path = filedialog.askopenfilename(filetypes=[("PDF files", "*.pdf")])    if file_path:        pdf_entry.delete(0, tk.END)        pdf_entry.insert(0, file_path)

def save_docx():    file_path = filedialog.asksaveasfilename(defaultextension=".docx", filetypes=[("Word files", "*.docx")])    if file_path:        docx_entry.delete(0, tk.END)        docx_entry.insert(0, file_path)

def convert_button_handler():    pdf_path = pdf_entry.get()    docx_path = docx_entry.get()
    if not pdf_path or not docx_path:        messagebox.showwarning("警告", "请选择PDF文件和DOCX保存位置")        return
    convert_button['state'] = 'disabled'    loading_label.pack()
    thread_convert_pdf_to_docx(pdf_path, docx_path)

# 创建主窗口root = tk.Tk()root.title("PDF to DOCX Converter")
# 设置输入输出文件路径pdf_entry = tk.Entry(root, width=50)pdf_entry.pack(side=tk.LEFT, padx=(10, 0), pady=10)
browse_button = tk.Button(root, text="选择PDF", command=select_pdf)browse_button.pack(side=tk.LEFT, pady=10, padx=(0, 10))
docx_entry = tk.Entry(root, width=50)docx_entry.pack(side=tk.LEFT, padx=(10, 0), pady=10)
save_button = tk.Button(root, text="保存DOCX", command=save_docx)save_button.pack(side=tk.LEFT, pady=10, padx=(0, 10))
# 转换按钮convert_button = tk.Button(root, text="转换", command=convert_button_handler)convert_button.pack(side=tk.LEFT, padx=10, pady=10)
# Loading标签loading_label = tk.Label(root, text="正在转换...")
# 主循环root.mainloop()

由于我是mac 10.15 intel芯片, 安装 pdf2docx耗费了一点时间。下面记录下步骤:

1、pip3 install pdf2docx ,需要依赖 opencv-python , opencv-python-headless。 安装依赖卡住了。看了下原因:依赖的版本 和 mac10.15不兼容。

2、我用的清华源,直接去官网找合适的源。

https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/

https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python-headless/

先找安装目录找到cv2文件夹手动删掉, 然后执行pip3 install opencv_python-4.6.0.66-cp36-abi3-macosx_10_15_x86_64.whl

pip3 install opencv_python_headless-4.6.0.66-cp36-abi3-macosx_10_15_x86_64.whl

3、pip3 install pdf2docx 成功安装。

运行效果

python3 pdf2docx_demo.py

符合自己的初步预期,上传解析pdf试了下,效果不错。

最后一步,打包可执行文件

pip3 install pyinstaller

pyinstaller --onefile pdf2docx_demo.py

原文链接: 【AI+编程】使用chatGPT AI工具Python语言从0到1完成pdf转docx小工具

相关推荐
仙人掌_lz23 分钟前
AI与机器学习ML:利用Python 从零实现神经网络
人工智能·python·机器学习
我感觉。32 分钟前
【医疗电子技术-7.2】血糖监测技术
人工智能·医疗电子
DeepSeek忠实粉丝38 分钟前
微调篇--超长文本微调训练
人工智能·程序员·llm
XiaoQiong.Zhang40 分钟前
简历模板3——数据挖掘工程师5年经验
大数据·人工智能·机器学习·数据挖掘
逸雪飞扬1 小时前
Gradio 非侵入式修改的离线使用方案
python·html
Akamai中国1 小时前
为何AI推理正推动云计算从集中式向分布式转型
人工智能·云原生·云计算·边缘计算
oil欧哟1 小时前
🧐 如何让 AI 接入自己的 API?开发了一个将 OpenAPI 文档转为 MCP 服务的工具
前端·人工智能·mcp
williamdsy1 小时前
【Vue PDF】Vue PDF 组件初始不加载 pdfUrl 问题分析与修复
前端·javascript·vue.js·pdf
whoarethenext1 小时前
C++/OpenCV地砖识别系统结合 Libevent 实现网络化 AI 接入
c++·人工智能·opencv
来自外太空的鱼-张小张1 小时前
java将pdf文件转换为图片工具类
java·python·pdf