在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享一款批量將PDF文件轉換為Word的神器

工程師鄧生 ? 來源:Python愛好者集中營 ? 作者:欣一 ? 2022-09-01 17:33 ? 次閱讀

無論是在工作還是學習當中,大家都會遇到這樣一個問題,將“PDF當中的內容(文本和圖片)轉換為Word的格式”,也就是說從只讀轉換成可編輯的格式。網上絕大多數的工具也都是收費的,今天小編就給大家制作了一款批量將PDF文件轉換為Word的神器,使用起來也是相當的方便。

實現效果

我們首先來看一下出來的效果,如下圖所示

6027737a-29d6-11ed-ba43-dac502259ad0.gif



618fe468-29d6-11ed-ba43-dac502259ad0.png

61c0cd08-29d6-11ed-ba43-dac502259ad0.png

環境準備

用到的模塊叫做pdf2docx,我們通過pip命令進行下載,如下

pip install pdf2docx

后續我們還可以為py文件打包,用到的庫是pyinstaller

pip install pyinstaller


代碼實現

我們先簡單地實現將單個PDF文檔轉換成Word文檔,代碼如下

pYYBAGMQfMWAKCJIAAA5iyss-GA794.jpg

那么上面的是單個PDF文件,要是涉及到是多個PDF文件,則需要用到遍歷上傳過來的每一個文件,用到for循環遍歷

def startAction(self):
output_path_1 = Path.joinpath(Path.home(), "Desktop")
output_path_2 = str(output_path_1) + "\\output"
if not os.path.exists(output_path_2):
os.mkdir(output_path_2)

for path_list in pdfPath_list:
print("路徑: ", path_list)
name = path_list.split("/")[-1].split(".")[0]
cv = Converter(path_list)
cv.convert(output_path_2 + "\\{}.docx".format(name), start=0, end=None)
cv.close()

msg_box = QMessageBox(QMessageBox.Information, '完成', '提取完成', QMessageBox.Yes)
msg_box.exec_()

上述的代碼,我們首先將指定好輸出的Word文檔的位置,這里小編設置的是在桌面,然后通過for循環去遍歷處理每一個PDF文檔,當所有的步驟都完成的時候,提示我們已經完成了。

當然整個可視化界面當中還有一個上傳文件的功能,代碼如下

# 選擇本地文件上傳
def uploadFiles(self):
global pdfPath_list # 這里為了方便別的地方引用文件路徑,將其設置為全局變量
pdfPath_list, fileType = QFileDialog.getOpenFileNames(self.ui, "上傳文件", r"路徑", "*.pdf;;All Files(*)")
# 顯示所選文件的路徑
self.ui.lineEdit.setText(",".join(pdfPath_list))

整體的代碼如下所示

from PySide2.QtWidgets import QApplication, QMessageBox, QFileDialog
from PySide2.QtUiTools import QUiLoader
from pdf2docx import Converter
from pathlib import Path
import os

class OCRQt:
def __init__(self):
self.ui = QUiLoader().load('pdf2word.ui')
self.ui.pushButton.clicked.connect(self.uploadFiles)
self.ui.pushButton_2.clicked.connect(self.startAction)

def uploadFiles(self):
........
........

def startAction(self):
.......
.......

if __name__ == '__main__':
app = QApplication([])
# 顯示創建的界面
MainWindow = OCRQt() # 創建窗體對象
MainWindow.ui.show() # 顯示窗體
app.exit(app.exec_()) # 程序關閉時退出進程


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PDF
    PDF
    +關注

    關注

    1

    文章

    169

    瀏覽量

    33748
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84883

原文標題:Python 如何實現一鍵批量將 PDF 文檔轉 Word?

文章出處:【微信號:AI科技大本營,微信公眾號:AI科技大本營】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EE-133:ADSP-218x的傳統架構文件轉換為鏈接器描述文件

    電子發燒友網站提供《EE-133:ADSP-218x的傳統架構文件轉換為鏈接器描述文件.pdf》資料免費下載
    發表于 01-13 16:34 ?0次下載
    EE-133:<b class='flag-5'>將</b>ADSP-218x的傳統架構<b class='flag-5'>文件</b><b class='flag-5'>轉換為</b>鏈接器描述<b class='flag-5'>文件</b>

    基于TPS40055的設計在15安培時12V總線轉換為1.8V

    電子發燒友網站提供《基于TPS40055的設計在15安培時12V總線轉換為1.8V.pdf》資料免費下載
    發表于 12-16 09:25 ?0次下載
    基于TPS40055的設計在15安培時<b class='flag-5'>將</b>12V總線<b class='flag-5'>轉換為</b>1.8V

    base64字符串轉換為二進制文件

    Base64是種編碼方法,用于二進制數據轉換為ASCII字符串。這種編碼通常用于在不支持二進制數據的系統中傳輸數據,例如電子郵件或網頁。Base64字符串
    的頭像 發表于 11-10 10:55 ?1492次閱讀

    通過數字隔離器SPI轉換為GPIO

    電子發燒友網站提供《通過數字隔離器SPI轉換為GPIO.pdf》資料免費下載
    發表于 09-21 10:20 ?0次下載
    通過數字隔離器<b class='flag-5'>將</b>SPI<b class='flag-5'>轉換為</b>GPIO

    PDF文件批量打印源代碼

    壓縮包中包含可批量打印PDF文件的Python代碼,可以借助PYcharm工具執行,實現多PDF文件同時打印。
    發表于 08-08 14:26 ?0次下載

    ADS7845一款12位采樣模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS7845一款12位采樣模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-27 09:39 ?0次下載
    ADS7845<b class='flag-5'>一款</b>12位采樣模數<b class='flag-5'>轉換</b>器(ADC)數據表

    ADS8325一款16位采樣模數(A/D)轉換器數據表

    電子發燒友網站提供《ADS8325一款16位采樣模數(A/D)轉換器數據表.pdf》資料免費下載
    發表于 07-26 10:20 ?0次下載
    ADS8325<b class='flag-5'>一款</b>16位采樣模數(A/D)<b class='flag-5'>轉換</b>器數據表

    ADS8320一款16位采樣模數(A/D)轉換器數據表

    電子發燒友網站提供《ADS8320一款16位采樣模數(A/D)轉換器數據表.pdf》資料免費下載
    發表于 07-26 10:13 ?3次下載
    ADS8320<b class='flag-5'>一款</b>16位采樣模數(A/D)<b class='flag-5'>轉換</b>器數據表

    ADS8371一款16位模數轉換器數據表

    電子發燒友網站提供《ADS8371一款16位模數轉換器數據表.pdf》資料免費下載
    發表于 07-24 11:09 ?0次下載
    ADS8371<b class='flag-5'>一款</b>16位模數<b class='flag-5'>轉換</b>器數據表

    DAC7741一款16位數模轉換器(DAC)數據表

    電子發燒友網站提供《DAC7741一款16位數模轉換器(DAC)數據表.pdf》資料免費下載
    發表于 07-24 09:32 ?0次下載
    DAC7741<b class='flag-5'>一款</b>16位數模<b class='flag-5'>轉換</b>器(DAC)數據表

    DAC7621一款12位數模轉換器(DAC)數據表

    電子發燒友網站提供《DAC7621一款12位數模轉換器(DAC)數據表.pdf》資料免費下載
    發表于 07-24 09:27 ?0次下載
    DAC7621<b class='flag-5'>一款</b>12位數模<b class='flag-5'>轉換</b>器(DAC)數據表

    DAC7613一款12位電壓輸出數模轉換器數據表

    電子發燒友網站提供《DAC7613一款12位電壓輸出數模轉換器數據表.pdf》資料免費下載
    發表于 07-23 09:50 ?0次下載
    DAC7613<b class='flag-5'>一款</b>12位電壓輸出數模<b class='flag-5'>轉換</b>器數據表

    ADS8406一款16位、1.25 MHz模數轉換器數據表

    電子發燒友網站提供《ADS8406一款16位、1.25 MHz模數轉換器數據表.pdf》資料免費下載
    發表于 07-19 11:38 ?0次下載
    ADS8406<b class='flag-5'>一款</b>16位、1.25 MHz模數<b class='flag-5'>轉換</b>器數據表

    ADS8326一款16位采樣模數轉換器數據表

    電子發燒友網站提供《ADS8326一款16位采樣模數轉換器數據表.pdf》資料免費下載
    發表于 07-15 09:47 ?1次下載
    ADS8326<b class='flag-5'>一款</b>16位采樣模數<b class='flag-5'>轉換</b>器數據表

    在SWAP模式下編輯lsl文件,如何分區A和B中程序的lsl文件轉換為個lsl文件

    啟用交換模式后,如何分區 A 和 B 中程序的 lsl 文件轉換為個 lsl 文件? 或者我們可以
    發表于 01-25 07:46
    主站蜘蛛池模板: 欧美色欧美亚洲高清在线视频 | 女bbbbxxxx毛片视频0 | 日产乱码免费一卡二卡在线 | 噜噜噜色噜噜噜久久 | 直接看黄的网站 | 特黄特色三级在线观看 | 伊人久久大香线蕉影院95 | 国产一级毛片国语版 | 91插插视频 | 四虎.com | 最新合集丨新片速递 | 日本特级淫片免费看 | 亚洲综合在线一区 | 亚色在线视频 | 宅男666在线永久免费观看 | 亚洲国产精品va在线观看麻豆 | 特级黄| 天天在线干| 扒开末成年粉嫩的小缝强文 | 日本69xxx| 欧美四虎 | 国产精品视频色拍拍 | 大黄香蕉 | 久久综合色区 | 国产馆精品推荐在线观看 | 国产专区青青草原亚洲 | 天堂最新版在线www在线 | 欧美不卡视频在线 | 男啪女色黄无遮挡免费视频 | 亚洲精品久久久久影 | 国产或人精品日本亚洲77美色 | 综合激情六月 | 又色又污又爽又黄的网站 | 男人透女人超爽视频免费 | 午夜视| 欲色天天| 91热成人精品国产免费 | 日韩一级片在线免费观看 | 久久久久国产成人精品亚洲午夜 | 色噜噜噜噜噜在线观看网站 | 亚洲a影院 |