【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小工具

相关推荐
88号技师1 小时前
2024年12月一区SCI-加权平均优化算法Weighted average algorithm-附Matlab免费代码
人工智能·算法·matlab·优化算法
IT猿手1 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
88号技师1 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
2301_764441331 小时前
基于python语音启动电脑应用程序
人工智能·语音识别
HyperAI超神经1 小时前
未来具身智能的触觉革命!TactEdge传感器让机器人具备精细触觉感知,实现织物缺陷检测、灵巧操作控制
人工智能·深度学习·机器人·触觉传感器·中国地质大学·机器人智能感知·具身触觉
galileo20162 小时前
转化为MarkDown
人工智能
沐霜枫叶2 小时前
解决pycharm无法识别miniconda
ide·python·pycharm
途途途途2 小时前
精选9个自动化任务的Python脚本精选
数据库·python·自动化
说私域2 小时前
私域电商逆袭密码:AI 智能名片小程序与商城系统如何梦幻联动
人工智能·小程序
蓝染然2 小时前
jax踩坑指南——人类早期驯服jax实录
python