脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python基于easygui实现pdf和word转换小程序

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

2024-04-18 14:21蜗牛其实也很努力 Python

这篇文章主要为大家详细介绍了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}",    else:
        easygui.msgbox("取消操作", 
 
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}",    # 如果没上传,被视为取消操作
    else:
        easygui.msgbox("取消操作", 
 
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("未选择任何操作",  src="/uploads/allimg/240418/14223aG5-0.png" />

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

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

制作成exe程序

安装pyinstaller

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

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

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

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

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

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

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

双击即可使用

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

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转换的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/eighters/article/details/126876824

延伸 · 阅读

精彩推荐
  • PythonPython+Pygame实现趣味足球游戏

    Python+Pygame实现趣味足球游戏

    这篇文章主要为大家分享了一个基于Python和Pygame实现的一个趣味足球游戏,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下...

    木木子学python6832023-01-27
  • Python在Python的Django框架中更新数据库数据的方法

    在Python的Django框架中更新数据库数据的方法

    这篇文章主要介绍了在Python的Django框架中更新数据库数据,对此Django框架中提供了便利的插入和更新方法,需要的朋友可以参考下...

    脚本之家12902020-07-24
  • PythonPandas中GroupBy具体用法详解

    Pandas中GroupBy具体用法详解

    pandas中的DF数据类型可以像数据库表格一样进行groupby操作。通常来说groupby操作可以分为三部分:分割数据,应用变换和和合并数据。本文就详细的来介绍一...

    flydean9052021-12-13
  • PythonAndroid应用开发中Action bar编写的入门教程

    Android应用开发中Action bar编写的入门教程

    这篇文章主要介绍了Android应用开发中ActionBar编写的入门教程,Action Bar可以实现的功能很多,比如导航菜单和标签页切换等,需要的朋友可以参考下 ...

    时之沙3702020-08-13
  • Python用python实现对比两张图片的不同

    用python实现对比两张图片的不同

    这篇文章主要介绍了用python实现对比两张图片的不同的相关资料,需要的朋友可以参考下...

    botoo21602021-01-12
  • Pythonpython 装饰器详解与应用范例

    python 装饰器详解与应用范例

    装饰器是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic。大多数初学者不知道在哪儿...

    不侠居5522022-02-26
  • PythonPython with用法:自动关闭文件进程

    Python with用法:自动关闭文件进程

    这篇文章主要介绍了Python with用法:自动关闭文件进程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    yaominghui5642021-08-06
  • PythonPython threading模块condition原理及运行流程详解

    Python threading模块condition原理及运行流程详解

    这篇文章主要介绍了Python threading模块condition原理及运行流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    lincappu11722020-10-06