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

Python實(shí)現(xiàn)pdf轉(zhuǎn)word詳細(xì)代碼

 更新時(shí)間:2023年09月04日 09:53:19   作者:Josepyth  
在日常工作中,我們經(jīng)常會(huì)遇到需要將PDF文件轉(zhuǎn)換成Word文件的需求。雖然市面上有許多PDF轉(zhuǎn)Word的工具,但是它們通常需要付費(fèi)或者有轉(zhuǎn)換后的格式問(wèn)題,這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)pdf轉(zhuǎn)word的相關(guān)資料,需要的朋友可以參考下

一、實(shí)驗(yàn)?zāi)繕?biāo)

通過(guò)利用python中的pyinstaller庫(kù)和PySimpleGUI庫(kù),實(shí)現(xiàn)將pdf轉(zhuǎn)為word的實(shí)際功能。

二、實(shí)驗(yàn)準(zhǔn)備

1、安裝pdf2docx庫(kù)

pip install pdf2docx

2、安裝PySimpleGUI庫(kù)

pip install PySimpleGUI

三、實(shí)驗(yàn)代碼

from pdf2docx import Converter
import PySimpleGUI as sg
def pdf2word(file_path):
    file_name = file_path.split('.')[0]
    doc_file = f'{file_name}.docx'
    p2w = Converter(file_path)
    p2w.convert(doc_file, start=0, end=None)
    p2w.close()
    return doc_file
def main():
    # 選擇主題
    sg.theme('DarkAmber')
    layout = [
        [sg.Text('pdfToword', font=('微軟雅黑', 12)),
         sg.Text('', key='filename', size=(50, 1), font=('微軟雅黑', 10))],
        [sg.Output(size=(80, 10), font=('微軟雅黑', 10))],
        [sg.FilesBrowse('選擇文件', key='file', target='filename'), sg.Button('開始轉(zhuǎn)換'), sg.Button('退出')]]
    # 創(chuàng)建窗口
    window = sg.Window("張臥虎", layout, font=("微軟雅黑", 15), default_element_size=(50, 1))
    # 事件循環(huán)
    while True:
        # 窗口的讀取,有兩個(gè)返回值(1.事件;2.值)
        event, values = window.read()
        print(event, values)
        if event == "開始轉(zhuǎn)換":
            if values['file'] and values['file'].split('.')[1] == 'pdf':
                filename = pdf2word(values['file'])
                print('文件個(gè)數(shù) :1')
                print('\n' + '轉(zhuǎn)換成功!' + '\n')
                print('文件保存位置:', filename)
            elif values['file'] and values['file'].split(';')[0].split('.')[1] == 'pdf':
                print('文件個(gè)數(shù) :{}'.format(len(values['file'].split(';'))))
                for f in values['file'].split(';'):
                    filename = pdf2word(f)
                    print('\n' + '轉(zhuǎn)換成功!' + '\n')
                    print('文件保存位置:', filename)
            else:
                print('請(qǐng)選擇pdf格式的文件哦!')
        if event in (None, '退出'):
            break
    window.close()
main()

四、部分代碼解析

1、pdf轉(zhuǎn)word代碼主體部分

def pdf2word(file_path):
    file_name = file_path.split('.')[0]
    doc_file = f'{file_name}.docx'
    p2w = Converter(file_path)
    p2w.convert(doc_file, start=0, end=None)
    p2w.close()
    return doc_file

convert(doc_file,start,end)函數(shù)中

  • doc_file:轉(zhuǎn)化完成后文件名
  • start:轉(zhuǎn)化開始頁(yè)面
  • end:轉(zhuǎn)化結(jié)束頁(yè)面

注意點(diǎn):

①若不給start,end參數(shù)則默認(rèn)轉(zhuǎn)化全篇

②對(duì)于不連續(xù)的頁(yè)面,也可寫作convert(doc_file , pages = [2,4,6])

2、圖形化界面部分

sg.theme('default1')
layout = [[sg.Text('pdfToword', font=('微軟雅黑', 12)),
        sg.Text('', key='filename', size=(50, 1), font=('微軟雅黑', 10))],
        [sg.Output(size=(80, 10), font=('微軟雅黑', 10))],
        [sg.FilesBrowse('選擇文件', key='file', target='filename'), sg.Button('開始轉(zhuǎn)換'),sg.Button('退出')]]
window = sg.Window("id", layout, font=("微軟雅黑", 15), default_element_size=(50, 1))

theme表示主題,即圖形化界面的主題顏色(sg.theme_list()可以查看所有可用主題)

3、實(shí)現(xiàn)多個(gè)文件轉(zhuǎn)化

if event == "開始轉(zhuǎn)換":
    if values['file'] and values['file'].split('.')[1] == 'pdf':
        filename = pdf2word(values['file'])
        print('文件個(gè)數(shù) :1')
        print('\n' + '轉(zhuǎn)換成功!' + '\n')
        print('文件保存位置:', filename)
    elif values['file'] and values['file'].split(';')[0].split('.')[1] == 'pdf':
        print('文件個(gè)數(shù) :{}'.format(len(values['file'].split(';'))))
        for f in values['file'].split(';'):
            filename = pdf2word(f)
            print('\n' + '轉(zhuǎn)換成功!' + '\n')
            print('文件保存位置:', filename)
    else:
        print('請(qǐng)選擇pdf格式的文件')

①第一個(gè)if處,通過(guò)“.”進(jìn)行劃分,判斷是否為單個(gè)且pdf格式文件

②else if處,通過(guò)“;”劃分,將所有文件的存儲(chǔ)路徑儲(chǔ)存在一個(gè)數(shù)組中,利用循環(huán)來(lái)遍歷數(shù)組,從而達(dá)到依次轉(zhuǎn)化的目的

③else處,若傳入非pdf文件則輸出提示文字

五、結(jié)果

220220a570b445aea523fc3ea03f0c6f.png

 完結(jié)撒花!

總結(jié)

到此這篇關(guān)于Python實(shí)現(xiàn)pdf轉(zhuǎn)word的文章就介紹到這了,更多相關(guān)Python pdf轉(zhuǎn)word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python可視化函數(shù)plt.scatter詳解

    Python可視化函數(shù)plt.scatter詳解

    這篇文章主要介紹了Python可視化函數(shù)plt.scatter詳解,?關(guān)于matplotlib的scatter函數(shù)有許多活動(dòng)參數(shù),如果不專門注解,是無(wú)法掌握精髓的,本文專門針對(duì)scatter的參數(shù)和調(diào)用說(shuō)起,并配有若干案例,需要的朋友可以參考下
    2023-04-04
  • python uvloop事件循環(huán)庫(kù)使用功能示例探究

    python uvloop事件循環(huán)庫(kù)使用功能示例探究

    這篇文章主要為大家介紹了python uvloop事件循環(huán)庫(kù)使用功能示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python使用OpenCV進(jìn)行標(biāo)定

    Python使用OpenCV進(jìn)行標(biāo)定

    這篇文章主要介紹了Python使用OpenCV進(jìn)行標(biāo)定,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python中replace方法實(shí)例分析

    Python中replace方法實(shí)例分析

    這篇文章主要介紹了Python中replace方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-08-08
  • Python+Tableau廣東省人口普查可視化的實(shí)現(xiàn)

    Python+Tableau廣東省人口普查可視化的實(shí)現(xiàn)

    本文將結(jié)合實(shí)例代碼,介紹Python+Tableau廣東省人口普查可視化,第七次人口普查數(shù)據(jù)分析,繪制歷次人口普查人口數(shù)量變化圖,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 如何利用Python實(shí)現(xiàn)一個(gè)論文降重工具

    如何利用Python實(shí)現(xiàn)一個(gè)論文降重工具

    文章去重(或叫網(wǎng)頁(yè)去重)是根據(jù)文章(或網(wǎng)頁(yè))的文字內(nèi)容來(lái)判斷多個(gè)文章之間是否重復(fù),下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)論文降重工具的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Python機(jī)器學(xué)習(xí)應(yīng)用之基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)篇詳解

    Python機(jī)器學(xué)習(xí)應(yīng)用之基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)篇詳解

    BP(back?propagation)神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McClelland為首的科學(xué)家提出的概念,是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一
    2022-01-01
  • matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法

    matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法

    下面小編就為大家分享一篇matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python學(xué)習(xí)小技巧之利用字典的默認(rèn)行為

    Python學(xué)習(xí)小技巧之利用字典的默認(rèn)行為

    這篇文章主要給大家介紹了Python學(xué)習(xí)小技巧之利用字典的默認(rèn)行為的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • 基于Python實(shí)現(xiàn)射擊小游戲的制作

    基于Python實(shí)現(xiàn)射擊小游戲的制作

    這篇文章主要介紹了如何利用Python制作一個(gè)自己專屬的第一人稱射擊小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-04-04

最新評(píng)論