在线观看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
    主站蜘蛛池模板: 欧美午夜影视| 婷婷色九月综合激情丁香| 日本国产黄色片| 男人的j桶女人的j视频| 精品国产午夜久久久久九九| 99久久99久久免费精品蜜桃| 全色网站| 快播久久| 日本人亚洲人成人| 亚洲va久久久噜噜噜久久| 天天插天天插| aa毛片| 最近在线视频免费观看2019| 九九九精品视频免费| 色99在线| 性色在线播放| 三级网址在线观看| 美国激情ap毛片| 欧美h视频| 色网站免费在线观看| 亚洲高清免费视频| xxxxxx性| 能在线观看的一区二区三区| 国产精品天天干| 天堂在线视频| 天天干免费视频| 黄 色 成 年人在线| 456亚洲人成影院在线观| 操黄色| 国产精品久久久久久久午夜片 | 亚洲你xx我xx网站| 最好看免费中文字幕2018视频 | 丁香花在线视频| 国产精品二区三区免费播放心| 久久综合久久88| 高清成人| a毛片基地免费全部香蕉| 色天天天天综合男人的天堂| 色天天网| 69性成熟xxxxhd| 亚洲欧美日韩色图|