最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序

 更新時(shí)間:2024年04月18日 09:41:17   作者:蝸牛其實(shí)也很努力  
這篇文章主要為大家詳細(xì)介紹了Python如何基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

核心代碼

# TODO 編寫pdf轉(zhuǎn)換器  制作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轉(zhuǎn)換成pdf實(shí)測(cè)可用
def word_to_pdf():
    word_file = easygui.fileopenbox(title="請(qǐng)上傳要轉(zhuǎn)換為pdf格式的word文件", default="*.docx")
    if word_file:
        pdf_file = word_file.replace(".docx", ".pdf")
        convert(word_file, pdf_file)
        easygui.msgbox(f"Word 文檔已成功轉(zhuǎn)換為 PDF:{pdf_file}", title="轉(zhuǎn)換成功")
    else:
        easygui.msgbox("取消操作", title="操作取消")
 
 
def pdf_to_word():
    pdf_file = easygui.fileopenbox(title="請(qǐng)上傳要轉(zhuǎn)換為word格式的pdf文件", default="*.pdf")
    # 如果上傳了文件,開始執(zhí)行轉(zhuǎn)換操作
    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 文檔已成功轉(zhuǎn)換為 Word:{docx_path}", title="轉(zhuǎn)換成功")
    # 如果沒上傳,被視為取消操作
    else:
        easygui.msgbox("取消操作", title="操作取消")
 
 
choices = ["Word 轉(zhuǎn)換 PDF", "PDF 轉(zhuǎn)換 Word"]
choice = easygui.buttonbox("請(qǐng)選擇要執(zhí)行的操作", "文件轉(zhuǎn)換小工具", choices=choices)
 
if choice == "Word 轉(zhuǎn)換 PDF":
    word_to_pdf()
elif choice == "PDF 轉(zhuǎn)換 Word":
    pdf_to_word()
else:
    easygui.msgbox("未選擇任何操作", title="操作取消")

效果

制作成exe程序

安裝pyinstaller

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

進(jìn)入腳本所在目錄,cmd執(zhí)行

# --noconsole指的是執(zhí)行程序后不顯示cmd的會(huì)話,即執(zhí)行程序后不會(huì)彈出cmd的會(huì)話彈窗
 
pyinstaller --noconsole -F <pyname>

只要沒明顯報(bào)錯(cuò),基本就可以用

會(huì)在當(dāng)前目錄下生成build和dist目錄

雙擊即可使用

FAQ

Traceback (most recent call last): File "轉(zhuǎn)換器.py", line 173, in <module> File "轉(zhuǎn)換器.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'

此報(bào)錯(cuò)是因?yàn)閠qdm庫(顯示進(jìn)度條的)這個(gè)庫可能不兼容有什么其他問題,解決方法:

添加以下代碼:

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

以上就是Python基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序的詳細(xì)內(nèi)容,更多關(guān)于Python pdf和word轉(zhuǎn)換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解django使用include無法跳轉(zhuǎn)的解決方法

    詳解django使用include無法跳轉(zhuǎn)的解決方法

    這篇文章主要介紹了詳解django使用include無法跳轉(zhuǎn)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法

    如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法

    這篇文章主要介紹了如何打包Python Web項(xiàng)目,實(shí)現(xiàn)免安裝一鍵啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 深入理解 Python 中的 asyncio.Lock

    深入理解 Python 中的 asyncio.Lock

    本文主要介紹了深入理解 Python中asyncio.Lock,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • python pandas 組內(nèi)排序、單組排序、標(biāo)號(hào)的實(shí)例

    python pandas 組內(nèi)排序、單組排序、標(biāo)號(hào)的實(shí)例

    下面小編就為大家分享一篇python pandas 組內(nèi)排序、單組排序、標(biāo)號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 利用Python?list列表修改元素

    利用Python?list列表修改元素

    這篇文章主要介紹了利用Python?list列表修改元素,Python?提供了兩種修改列表(list)元素的方法,我們可以每次修改單個(gè)元素,也可以每次修改一組元素
    2022-06-06
  • 詳解Python3 pickle模塊用法

    詳解Python3 pickle模塊用法

    pickle模塊中的兩個(gè)主要函數(shù)是dump()和load(),這篇文章主要介紹了Python3 pickle模塊用法,需要的朋友可以參考下
    2019-09-09
  • Django利用LogEntry生成歷史操作實(shí)戰(zhàn)記錄

    Django利用LogEntry生成歷史操作實(shí)戰(zhàn)記錄

    LogEntry是在后臺(tái)開發(fā)中經(jīng)常用到的模塊,它在admin是默認(rèn)開啟的。文中給大家介紹了在admin頁面上查看操作日志的方法及實(shí)戰(zhàn)代碼,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Python3列表刪除的三種方式實(shí)現(xiàn)

    Python3列表刪除的三種方式實(shí)現(xiàn)

    本文主要介紹了Python3列表刪除的三種方式實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 賺瘋了!轉(zhuǎn)手立賺800+?大佬的python「搶茅臺(tái)腳本」使用教程

    賺瘋了!轉(zhuǎn)手立賺800+?大佬的python「搶茅臺(tái)腳本」使用教程

    這篇文章主要介紹了如果利用python搶購京東茅臺(tái),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 使用Python實(shí)現(xiàn)在PDF中添加空白頁面的方法

    使用Python實(shí)現(xiàn)在PDF中添加空白頁面的方法

    在日常辦公和數(shù)據(jù)處理中,PDF文件因其格式穩(wěn)定性被廣泛使用,本文將介紹Python如何使用Spire.PDF for Python實(shí)現(xiàn)為PDF添加空白頁面,感興趣的小伙伴可以了解下
    2025-11-11

最新評(píng)論

洪雅县| 七台河市| 平度市| 兰溪市| 阿图什市| 栾川县| 昌黎县| 西安市| 铜陵市| 平湖市| 鄄城县| 越西县| 临漳县| 论坛| 得荣县| 新营市| 杭锦后旗| 襄樊市| 兴化市| 广汉市| 凤凰县| 绍兴市| 芜湖县| 巴马| 云霄县| 兴文县| 淮阳县| 洪湖市| 苏州市| 安远县| 芜湖县| 哈巴河县| 铅山县| 中牟县| 佛山市| 镇江市| 曲周县| 定安县| 津南区| 五莲县| 同心县|