欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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 編寫(xiě)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")
    # 如果上傳了文件,開(kāi)始執(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)換成功")
    # 如果沒(méi)上傳,被視為取消操作
    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>

只要沒(méi)明顯報(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庫(kù)(顯示進(jìn)度條的)這個(gè)庫(kù)可能不兼容有什么其他問(wèn)題,解決方法:

添加以下代碼:

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)文章

  • Python重新引入被覆蓋的自帶function

    Python重新引入被覆蓋的自帶function

    最近在寫(xiě)python應(yīng)用時(shí)遇到一個(gè)問(wèn)題: 引入某個(gè)模塊時(shí)會(huì)自動(dòng)引入自定義的int到python的namespace中, 從而覆蓋了python自帶的int function. 因?yàn)槲覀冃枰褂胮ython的int, 所以不得不找到重新引入這int的方法.
    2014-07-07
  • Python中數(shù)組遍歷的方法總結(jié)

    Python中數(shù)組遍歷的方法總結(jié)

    數(shù)組是編程中經(jīng)常使用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作一組元素,Python提供了多種方法來(lái)遍歷數(shù)組,本文將深入探討這些方法,提供詳細(xì)的示例代碼,希望對(duì)大家有所幫助
    2023-11-11
  • python基礎(chǔ)教程項(xiàng)目四之新聞聚合

    python基礎(chǔ)教程項(xiàng)目四之新聞聚合

    這篇文章主要為大家詳細(xì)介紹了python基礎(chǔ)教程項(xiàng)目四之新聞聚合,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python中filter函數(shù)的用法示例代碼

    python中filter函數(shù)的用法示例代碼

    filter() 函數(shù)用于過(guò)濾序列,過(guò)濾掉不符合條件的元素,返回一個(gè)迭代器對(duì)象,如果要轉(zhuǎn)換為列表,可以使用 list() 來(lái)轉(zhuǎn)換,這篇文章主要介紹了python中filter函數(shù)的用法,需要的朋友可以參考下
    2022-12-12
  • Python3.6正式版新特性預(yù)覽

    Python3.6正式版新特性預(yù)覽

    Python3.6計(jì)劃在2016-12-16正式發(fā)布。截止目前,PSF 已經(jīng)發(fā)布了 9 個(gè)測(cè)試版本。在新版本正式發(fā)布之前,我們一起來(lái)體驗(yàn)一下都會(huì)有哪些重要的新特性。
    2016-12-12
  • Python中else的三種使用場(chǎng)景

    Python中else的三種使用場(chǎng)景

    在Python中else最常見(jiàn)的用法就是用在判斷語(yǔ)句中,其實(shí)還可以用在循環(huán)語(yǔ)句和異常處理中。 下面來(lái)總結(jié)一下else的用法:
    2021-06-06
  • Pytorch maxpool的ceil_mode用法

    Pytorch maxpool的ceil_mode用法

    今天小編就為大家分享一篇Pytorch maxpool的ceil_mode用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 我在七夕佳節(jié)用Python制作的表白神器,程序員也應(yīng)該擁有愛(ài)情!建議收藏

    我在七夕佳節(jié)用Python制作的表白神器,程序員也應(yīng)該擁有愛(ài)情!建議收藏

    這篇文章主要介紹了我在七夕佳節(jié)用Python制作的表白神器,建議收藏,程序員也該擁有愛(ài)情,感興趣的小伙伴快來(lái)看看吧
    2021-08-08
  • python下載微信公眾號(hào)相關(guān)文章

    python下載微信公眾號(hào)相關(guān)文章

    這篇文章主要為大家詳細(xì)介紹了python下載微信公眾號(hào)相關(guān)文章的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 如何在Windows下載、安裝Python和配置環(huán)境(新手、保姆級(jí)教程)

    如何在Windows下載、安裝Python和配置環(huán)境(新手、保姆級(jí)教程)

    本文詳細(xì)介紹了如何在Windows系統(tǒng)上下載、安裝Python以及配置環(huán)境變量,通過(guò)步驟說(shuō)明,即使是新手也能順利完成Python的安裝,并驗(yàn)證其是否成功,感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評(píng)論