吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3469|回复: 67
收起左侧

[Python 原创] 自制pdf转word工具

[复制链接]
XiaoYu121 发表于 2023-11-1 11:09
新手小白自制,调用ConvertAPI接口实现功能代码如下
[Python] 纯文本查看 复制代码
import os
import convertapi
import tkinter as tk
from tkinter import filedialog, messagebox
import threading

# 设置 ConvertAPI 的 API Secret
convertapi.api_secret = '7uwbYOjiG7RN1iNP'  # 替换为你的 ConvertAPI API Secret

# 函数:选择PDF文件
def select_pdf_file():
    global pdf_file_path
    pdf_file_path = filedialog.askopenfilename(title="选择PDF文件", filetypes=[("PDF文件", "*.pdf")])
    pdf_file_label.config(text=pdf_file_path)


# 函数:选择转换后的存放目录
def select_output_directory():
    global output_dir
    output_dir = filedialog.askdirectory(title="选择转换后的存放目录")
    output_dir_label.config(text=output_dir)

# 函数:执行PDF转换为Word
def convert_pdf_to_word():
    global pdf_file_path, output_dir

    # 如果用户未选择PDF文件或输出目录,显示错误提示
    if not pdf_file_path or not output_dir:
        messagebox.showerror("错误", "请先选择要转换的PDF文件和转换后的Word文件保存目录")
        return

    # 创建"请稍等"提示窗口
    wait_window = tk.Toplevel(root)
    wait_window.title("请稍等")
    wait_label = tk.Label(wait_window, text="转换中,请稍等...", font=("Arial", 12))
    wait_label.pack(padx=20, pady=10)

    try:
        # 创建线程进行转换
        convert_thread = threading.Thread(target=perform_conversion, args=(wait_window,))
        convert_thread.start()
    except Exception as e:
        messagebox.showerror("转换失败", f"转换失败: {e}")

# 函数:执行实际的转换
def perform_conversion(wait_window):
    global pdf_file_path, output_dir

    try:
        # 转换为 Word 格式
        result = convertapi.convert('docx', {'File': pdf_file_path}, from_format='pdf')

        # 确保输出目录存在,如果不存在则创建
        os.makedirs(output_dir, exist_ok=True)

        # 获取原始文件名(去掉路径部分)
        base_file_name = os.path.basename(pdf_file_path)

        # 保存转换后的文件到指定目录,使用原始文件名
        output_file_path = os.path.join(output_dir, base_file_name.replace('.pdf', '.docx'))
        result.save_files(output_file_path)

        # 关闭"请稍等"提示窗口
        wait_window.destroy()

        messagebox.showinfo("转换完成", f"Word 文件已保存到:{output_file_path}")
    except convertapi.exceptions.ApiError as e:
        # 关闭"请稍等"提示窗口
        wait_window.destroy()

        messagebox.showerror("转换失败", f"转换失败: {e}")

# 创建主窗口
root = tk.Tk()
root.title("PDF转Word工具")
root.geometry("400x300")  # 设置窗口大小

# 设置窗口图标
icon_path = "D:\\111.ico"
if os.path.exists(icon_path):
    root.iconbitmap(icon_path)

# 标签和按钮,用于选择PDF文件和转换后的存放目录
pdf_file_label = tk.Label(root, text="选择要转换的PDF文件")
pdf_file_label.pack(pady=10)
pdf_file_button = tk.Button(root, text="选择PDF文件", command=select_pdf_file)
pdf_file_button.pack(pady=5)

output_dir_label = tk.Label(root, text="选择转换后的存放目录")
output_dir_label.pack(pady=10)
output_dir_button = tk.Button(root, text="选择存放目录", command=select_output_directory)
output_dir_button.pack(pady=5)

convert_button = tk.Button(root, text="转换成Word", command=convert_pdf_to_word)
convert_button.pack(pady=20)

# 显示联系方式
contact_label = tk.Label(root, text="作者", font=("Arial", 10))
contact_label.place(relx=1.0, rely=1.0, anchor="se")  # 放在右下角

# 在窗口打开时弹出提示
messagebox.showinfo("提示", "小宇制作,仅供学习")

# 开启主循环
root.mainloop()


打包文件下载链接:https://lxiaoyu.lanzouj.com/irMG31c4trfe

免费评分

参与人数 20吾爱币 +23 热心值 +17 收起 理由
Circulation2020 + 1 谢谢@Thanks!
wangmin + 1 谢谢@Thanks!
ssyszbd + 1 + 1 谢谢@Thanks!
qianye666 + 1 谢谢@Thanks!
鱼儿哭了 + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ImSniper + 1 + 1 谢谢@Thanks!
luozi1653 + 1 + 1 谢谢@Thanks!
zyj_hc + 1 + 1 牛人太多了,
laoda1228 + 1 因为计算机中丢失 api-ms-win-core-path-l1-1-0.dll无法启动
人间贩梦者 + 1 + 1 我很赞同!
xiaobinwang + 1 + 1 热心回复!
5100 + 1 + 1 谢谢@Thanks!
MagicMan + 1 我很赞同!
肖飞 + 1 + 1 谢谢分享,正好用到
haiyangnanzi + 1 + 1 谢谢@Thanks!
yangfan1 + 1 + 1 谢谢@Thanks!
xyx666 + 1 + 1 谢谢@Thanks!
yanglinman + 1 用心讨论,共获提升!
cxx0515 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| XiaoYu121 发表于 2023-11-11 08:39
调用的是国外的接口,只能免费250次,可以注册个账号更换一下API就可以
注册地址:https://www.convertapi.com/
pye001 发表于 2023-11-1 14:36
那位大神知道,我这打开的时候显示:无法启动此程序,因为计算机中丢失 api-ms-win-core-path-l1-1-0.dll 。尝试重新安装该程序以解决
TinaZerotwo 发表于 2023-11-16 22:06
在程序中虽然对一些异常进行了捕获并给出提示,但是并没有对所有可能的异常情况进行处理,因此在实际使用中可能存在一些未能预料到的问题
鑫子 发表于 2023-11-1 12:30
感谢分享
lcylidong 发表于 2023-11-1 13:08
感谢分享,收藏试用了。
19942388450 发表于 2023-11-1 13:29
pdf转word工具确实不错!
xyx666 发表于 2023-11-1 13:54
好工具得用起来!
hofer 发表于 2023-11-1 13:54
为原创点赞
freedux 发表于 2023-11-1 13:55
感谢分享,收藏试用了。
lysmbetter 发表于 2023-11-1 14:01
python大法好
shen12wang 发表于 2023-11-1 14:14
python这么牛
blueczw 发表于 2023-11-1 14:14
转换的很好
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 07:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表