pdf文件合併批量合併,轉Word--python一招教會你

2022-01-01 Python編程站

 

 在平時的日常學習生活或辦公生活中,想必大家有過將pdf文件做批量合併,轉Word等方面的操作吧,今天這篇文章就教大家使用python來實現pdf文件的批量合併,轉Word操作。臨近學期末,我這裡就有一個這樣的需求,在網頁上有著幾套選擇題,我把它們存為pdf保存在了本地。為了更加方便的去查找相關字眼的題目,我就編寫了一些python代碼將多個pdf文件進行合併,並實現pdf文件轉Word的功能。溫馨提示:這些功能在現實中是需要收費的,作為我的粉絲,恭喜你們又學到了一招,學到就是賺到。丨

本案例很實用,建議點讚收藏!!!!

    這裡使用的第三方模塊有:pdf2docx、PyPDF2,如果有未安裝模塊的夥伴可以在終端上使用以下命令進行安裝:


1pip install pdf2docx 
2pip install PyPDF2

出現Successful代表模塊安裝成功!

 

  

 

在前期環境準備工作完成以後,現在我們要做的就是編寫處理業務功能的函數模塊啦!首先來編寫實現多個pdf文件批合併功能,編寫函數pdf_merge(),並提供兩個參數:1、存放多個pdf文件的目錄,2、批合併後生成的文件名。這裡用os模塊的listdir方法幫我們列出目錄中的文件並給我們返回一個列表。在對該列表進行遍歷並過濾出pdf文件,使用列表推導式的方式將目錄中的pdf文件存入處理好的列表當中。並將列表中的pdf文件批量添加到該pdf文件管理器中,最後在將pdf管理器中的pdf文件對象進行寫入(合併操作)就完成pdf的合併操作啦。

1def pdf_merge(target_path, fileName):
2    '''
3    :param target_path: 存放pdf文件的目錄
4    :return:轉換後的文件名
5    '''
6    # target_path = '題目'
7    pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
8    pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
9
10    file_merger = PdfFileMerger()
11    for pdf in pdf_lst:
12        file_merger.append(pdf)  # 合併pdf文件
13
14    file_merger.write(fileName)  # 合併為merge.pdf
15    return fileName

現在開始編寫pdf轉word功能,定義函數並傳入一個文件對象作為參數,這裡先對pdf文件對象進行文件類型的判斷,判斷它是否為pdf文件。如果為pdf文件,就調用pdf2docx模塊的Connverter類對該pdf文件對象進行處理,不為pdf文件就不對文件進行處理,並輸出不是一個pdf文件。

1def pdf_docx(file):
2    '''
3    :param file:pdf文件
4    :return:
5    '''
6    if file.endswith('pdf'):
7        docx_file = file.replace('pdf', 'docx')
8        pdf = pdf2docx.Converter(file)
9        pdf.convert(docx_file, start=0, end=None)
10        pdf.close()
11        print(f'{docx_file}\t文件轉為完成!')
12    else:
13        print(f'{file}不是一個pdf文件!')

以上就是兩個功能函數的實現,現在來運行代碼看看吧~


代碼運行完畢,可以看到批合併的pdf文件和pdf轉換的文件已經生成好啦~

最後奉上全部代碼:

1import os, pdf2docx
2from PyPDF2 import PdfFileMerger
3
4
5def pdf_merge(target_path, fileName):
6    '''
7    :param target_path: 存放pdf文件的目錄
8    :return:轉換後的文件名
9    '''
10    # target_path = '題目'
11    pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
12    pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
13
14    file_merger = PdfFileMerger()
15    for pdf in pdf_lst:
16        file_merger.append(pdf)  # 合併pdf文件
17
18    file_merger.write(fileName)  # 合併為merge.pdf
19    return fileName
20
21
22def pdf_docx(file):
23    '''
24    :param file:pdf文件
25    :return:
26    '''
27    if file.endswith('pdf'):
28        docx_file = file.replace('pdf', 'docx')
29        pdf = pdf2docx.Converter(file)
30        pdf.convert(docx_file, start=0, end=None)
31        pdf.close()
32        print(f'{docx_file}\t文件轉為完成!')
33    else:
34        print(f'{file}不是一個pdf文件!')
35
36
37if __name__ == '__main__':
38    file = pdf_merge('題目', 'merge.pdf')
39    pdf_docx(file)


 

 

 

以上就是今天的全部內容了,最後預祝大家聖誕快樂~~

更多精彩內容 ,敬請關注公眾號:

 

   

相關焦點

  • 批量合併word-多個文件合併
    批量合併word Word當中的插入文件,一次只可以合併59個,將更多地Word文檔合併成一個文檔,方法如下:1、新建一個
  • pdf批量操作合併文件
    今天為大家介紹一款界面簡潔、操作簡單的PDF合併工具,能快速方便地合併批量圖片、PDF文件、word/excel/ppt,簡單、高效、滿足各種合併需求。多種合併方式,根據您的喜好排序,PDF文件可在編輯。輕鬆使用密碼保護的PDF文件,快速合併報告/電子書/數據表。
  • Python | 合併PDF好難
    上篇文章《批量保存SolvNet文章》中使用Python模擬滑鼠鍵盤,批量下載了1300多篇solvnet的文章,並分別保存為pdf格式。
  • PDF文件怎麼合併?一招教你搞定PDF文件合併!
    PDF文件怎麼合併?一招教你搞定PDF文件合併! 2020年05月20日 15:40作者:黃頁編輯:黃頁 PDF文件怎麼合併?
  • 圖片在線轉pdf怎麼做?可以把圖片合併到同一個pdf文件嗎?
    如何圖片合併到同一個pdf文件?諸位小夥伴們,我作為一名廣告公司的文案策劃,平時需要大量累積一些有創意的、接地氣、能出圈的文案,於是每天都會從網上搜索資料,這麼一天天下來,電腦裡竟然保存了密密麻麻的海報圖片,於是便想著把它們合併為一個pdf文檔進行保存。
  • Python筆記:批量合併Excel文件信息
    但是,如果文件的數目太多(比如幾十個、上百個、幾百上千個)的時候,再一個一個地去加載,會是一件很折騰人的事情。我們又知道,for循環可用來進行批處理,來幫我們自動實現大量重複的操作步驟。例如:我在桌面上的「python」文件夾內放置4個表結構相同(表頭相同)的文件,接下來我準備用for循環優雅地實現上面我所吹過的牛。文件截圖如下:註:為了不洩露工作信息,所以我對表格內容進行了模糊化處理。
  • 【軟體推薦】| PDF文件的拆分與合併
    後臺回復【pdf處理軟體】獲取提取碼~~simpo 是B格很高的系列軟體公司,該公司是主打pdf文檔的處理,包括轉word,轉Excel ,轉PowerPoint , 轉Image,轉html, 轉text等。
  • PDF合併拆分 Word轉PDF
    優點:1、上傳2M以內小文件無需登錄;2、上傳文件、合併PDF文件速度快;3、其他與工具相比,PDF相關功能超多,可以PDF格式轉換、在線編輯等等;4、還有一些特色功能可以使用,比如語音轉文字、視頻格式轉換等等;5、文件24
  • 使用Python為PDF文件批量添加水印的方法及進一步思考
    ============問題描述:想用Python把WORD文件轉成PDF文件並加上水印。網上搜了一下資料,沒發現有現成的解決方案。於是決定自己寫一個Python程序。思路是分兩步:第一步,將WORD文件轉成PDF,第二步將生成的PDF文件添加水印。
  • 神器推薦,Acrobat Pro DC實現PDF編輯文字,拆分/合併頁,轉Word
    文/雷哥 編輯/小魚兒今天給大家分享一款PDF神器-Adobe Acrobat Pro DC,滿足大家對PDF的一切需求。上,新增文字 「雷哥office」03功能-PDF快速轉WordPDF轉Word,這個需求可謂是經常遇到。
  • 使用word郵件合併功能批量生成文件
    工作中在分發通知、工資單及各種文件時,通常要將excel表中的數據以固定的格式填入word中,然後再發送給對應的人,如給經銷商發年會邀請函,其中經銷商名單就需要填入word模板中,如果要邀請很多經銷商來參加年會,那麼一個一個的錄入效率會很低,使用word郵件合併功能就能快速解決這類問題
  • word怎麼轉pdf?這三種方法讓你快速完成pdf轉換
    word怎麼轉pdf?pdf格式的文件是現在很多地方都支持的一種格式文件,如某網站中,支持上傳與下載的文件就是pdf格式,那麼我們文件是word格式,想要將這些文件分享的話,又該怎麼將其轉換為pdf格式呢?
  • PDF轉word亂碼怎麼辦?這樣輕鬆解決!
    PDF轉word亂碼怎麼辦?我們經常需要將PDF文件轉換成word格式,因為這樣就可以對pdf文件進行編輯啦。但是有不少朋友在將pdf轉word的時候會出現亂碼的問題,你頭疼不已!別擔心,下面小編要告訴大家的就是如何高效率地將PDF文件轉換成Word格式,拒絕亂碼!
  • Python 辦公自動化|批量合併 PDF,拿來就用
    完整的PDF如果換成你操作的話,是不是打開百度搜索:PDF合併,然後去第三方網站操作,可能會收費不說還擔心文件洩漏,現在有請Python出場,簡單快速,光速合併,拿走就用!\Ophthalmology\Chinese Ophthalmology'     # 目標文件的名字    file_name = "中華眼科學(第3版)合併版.pdf" 接著獲取所有pdf文件的絕對路徑,這裡需要利用os庫中的os.walk遍歷文件和os.path.join拼接路徑
  • pdf轉word教程
    用photoshop打開pdf中第一頁,改成A4紙大小,(如果用photoshop打開pdf出現全是小圓點,說明photoshop缺少pdf上的字體,下載AdobeSongStd-Light (v5.010),複製粘貼到C:\windows
  • python 實用程序 | PDF 轉 Word
    現在網上有很多文檔是 pdf 格式,雖然這個格式閱讀起來很方便,並且裡面的內容不會亂掉,但相應的我們就無法修改裡面的內容。雖然現在市面上有很多 pdf 轉 word 軟體,比如 wps,但大多數的軟體是要收費的,並且價格不菲。前些天就有人叫我幫她把 pdf 文檔轉成 word 的文檔。
  • PDF合併工具:pdf怎麼合併成一個文件
    但是小編看到網上合併pdf文件的時候多使用的軟體都非常的麻煩。小編今天給大家分享的方法根本就不需要下載安裝軟體,就可以直接在網頁上進行pdf文件的合併,下面跟著小編一起來看下吧!1、小編在簡介中已經說了,今天所介紹的方法是不需要安裝任何軟體就可以完成pdf文件的合併操作,因此合併pdf文件第一步要做的是:打開百度瀏覽器搜索「pdf在線合併工具」找到對應的連結直接點擊進入迅捷PDF在線網站的主頁面。
  • Python實戰01:合併多個PDF文件
    》後,有位朋友留言,想要使用程序合併兩個PDF文件。如下圖1所示,在「E:\完美Excel\test」文件夾中有兩個PDF文件:excelperfect.pdf和完美Excel.pdf。現在,我們想要合併這兩個PDF文件為一個PDF文件。
  • python用PyPDF2庫解決pdf合併拆分問題
    pdf拆分合併專業戶PyPDF2庫還是先對PyPDF2庫簡單介紹一下,PyPDF2是一個純python的PDF庫,能夠拆分、合併、裁剪和轉換見名知意PdfFileReader就是對pdf文件進行讀操作,PdfFileWriter對pdf文件進行寫操作,PdfFileMerger對pdf文件進行合併操作。本次只用到前兩個完成拆分和合併。
  • pdf轉成word軟體批量處理
    在我們日常處理pdf文件的時候,很多朋友都在講到pdf文件在通過一些pdf工具轉換成word文件轉換速度極慢。其實大家為了處理pdf問題,關注的應該是pdf轉成word軟體批量處理。但是關於pdf亂碼我們最好清楚是什麼原因造成的,比如pdf文件中存在那種嵌入式的字體就會出現轉換格式亂碼的情況。