Python基于easygui实现pdf和word转换小程序

 更新时间:2024年04月18日 09:41:17   作者:蜗牛其实也很努力  
这篇文章主要为大家详细介绍了Python如何基于easygui实现pdf和word转换小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

核心代码

# TODO 编写pdf转换器  制作exe程序
import easygui
import os
from docx2pdf import convert
from pdf2docx import Converter
from pdf2image import convert_from_path
import io
import sys
 
 
buffer = io.StringIO()
sys.stdout = buffer
sys.stderr = buffer
 
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
 
 
# TODO word转换成pdf实测可用
def word_to_pdf():
    word_file = easygui.fileopenbox(title="请上传要转换为pdf格式的word文件", default="*.docx")
    if word_file:
        pdf_file = word_file.replace(".docx", ".pdf")
        convert(word_file, pdf_file)
        easygui.msgbox(f"Word 文档已成功转换为 PDF:{pdf_file}", title="转换成功")
    else:
        easygui.msgbox("取消操作", title="操作取消")
 
 
def pdf_to_word():
    pdf_file = easygui.fileopenbox(title="请上传要转换为word格式的pdf文件", default="*.pdf")
    # 如果上传了文件,开始执行转换操作
    if pdf_file:
        docx_name = os.path.splitext(os.path.basename(pdf_file))[0] + ".docx"
        docx_path = os.path.join(desktop_path, docx_name)
        cv = Converter(pdf_file)
        cv.convert(docx_path)
        cv.close()
        easygui.msgbox(f"PDF 文档已成功转换为 Word:{docx_path}", title="转换成功")
    # 如果没上传,被视为取消操作
    else:
        easygui.msgbox("取消操作", title="操作取消")
 
 
choices = ["Word 转换 PDF", "PDF 转换 Word"]
choice = easygui.buttonbox("请选择要执行的操作", "文件转换小工具", choices=choices)
 
if choice == "Word 转换 PDF":
    word_to_pdf()
elif choice == "PDF 转换 Word":
    pdf_to_word()
else:
    easygui.msgbox("未选择任何操作", title="操作取消")

效果

制作成exe程序

安装pyinstaller

pip3 install -i https://pypi.douban.com/simple/  pyinstaller

进入脚本所在目录,cmd执行

# --noconsole指的是执行程序后不显示cmd的会话,即执行程序后不会弹出cmd的会话弹窗
 
pyinstaller --noconsole -F <pyname>

只要没明显报错,基本就可以用

会在当前目录下生成build和dist目录

双击即可使用

FAQ

Traceback (most recent call last): File "转换器.py", line 173, in <module> File "转换器.py", line 148, in word_to_pdf File "docx2pdf\__init__.py", line 106, in convert File "docx2pdf\__init__.py", line 29, in windows File "tqdm\asyncio.py", line 24, in __init__ File "tqdm\std.py", line 1099, in __init__ File "tqdm\std.py", line 1348, in refresh File "tqdm\std.py", line 1496, in display File "tqdm\std.py", line 462, in print_status File "tqdm\std.py", line 455, in fp_write File "tqdm\utils.py", line 139, in __getattr__ AttributeError: 'NoneType' object has no attribute 'write'

此报错是因为tqdm库(显示进度条的)这个库可能不兼容有什么其他问题,解决方法:

添加以下代码:

buffer = io.StringIO()
sys.stdout = buffer
sys.stderr = buffer

以上就是Python基于easygui实现pdf和word转换小程序的详细内容,更多关于Python pdf和word转换的资料请关注脚本之家其它相关文章!

相关文章

  • 详解django使用include无法跳转的解决方法

    详解django使用include无法跳转的解决方法

    这篇文章主要介绍了详解django使用include无法跳转的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 如何打包Python Web项目实现免安装一键启动的方法

    如何打包Python Web项目实现免安装一键启动的方法

    这篇文章主要介绍了如何打包Python Web项目,实现免安装一键启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 深入理解 Python 中的 asyncio.Lock

    深入理解 Python 中的 asyncio.Lock

    本文主要介绍了深入理解 Python中asyncio.Lock,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-05-05
  • python pandas 组内排序、单组排序、标号的实例

    python pandas 组内排序、单组排序、标号的实例

    下面小编就为大家分享一篇python pandas 组内排序、单组排序、标号的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 利用Python list列表修改元素

    利用Python list列表修改元素

    这篇文章主要介绍了利用Python list列表修改元素,Python 提供了两种修改列表(list)元素的方法,我们可以每次修改单个元素,也可以每次修改一组元素
    2022-06-06
  • 详解Python3 pickle模块用法

    详解Python3 pickle模块用法

    pickle模块中的两个主要函数是dump()和load(),这篇文章主要介绍了Python3 pickle模块用法,需要的朋友可以参考下
    2019-09-09
  • Django利用LogEntry生成历史操作实战记录

    Django利用LogEntry生成历史操作实战记录

    LogEntry是在后台开发中经常用到的模块,它在admin是默认开启的。文中给大家介绍了在admin页面上查看操作日志的方法及实战代码,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • Python3列表删除的三种方式实现

    Python3列表删除的三种方式实现

    本文主要介绍了Python3列表删除的三种方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程

    赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程

    这篇文章主要介绍了如果利用python抢购京东茅台,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • 使用Python实现在PDF中添加空白页面的方法

    使用Python实现在PDF中添加空白页面的方法

    在日常办公和数据处理中,PDF文件因其格式稳定性被广泛使用,本文将介绍Python如何使用Spire.PDF for Python实现为PDF添加空白页面,感兴趣的小伙伴可以了解下
    2025-11-11

最新评论