python辦公自動化——PDF轉Word

2020-12-25 戲說編程

說到pdf,那麼得刨根問底兒地問問為啥要有這種格式的文件?有word這樣格式的文件不夠使得嘛?先說個深有體會的事,平常有木有word在不同地方打開格式發生改變的苦惱?然而pdf就沒有這種麻煩。

當初Adobe公司設計PDF文件格式主要是要支持跨平臺,支持對網絡信息的發布。這種格式與平臺無關,那就是說PDF文件不管是在Windows,Unix還是在蘋果公司的Mac OS作業系統中都是通用的。這一特點使它成為在Internet上進行電子文檔發行和數位化信息傳播的理想文檔格式。

那pdf有這麼多優點為啥還要轉Word? 答:pdf不易編輯,不易排版,不易粘貼複製,在工作中要是在pdf裡面提取你想要的文字或者圖片,那可費事兒,對於文字要不就一個字一個字地比著打,要麼就充值某個軟體會員,開啟開掛模式。對於這兩個方法都不想用的小夥伴來說,教你們一個方法,可以有效提取出pdf裡面的文字並轉為word。

1.解析PDF庫pdfminer

說到從pdf中獲得想要的信息,那第一步就得解析出pdf裡面的東西,這裡就用到pdfminer庫,它完全專注於獲取和分析文本數據。PDFMiner允許人們獲取頁面中文本的確切位置,以及字體或線條等其他信息。它的好處也是大大的:

完全用Python編寫。各種字體類型(Type1,TrueType,Type3和CID)支持。PDF到HTML轉換(使用示例轉換器Web應用程式)。大綱(TOC)提取。等等好處,接下來在看看它處理pdf的流程是哪樣

流程

這圖看起來太麻煩,簡單幾句話就是:

PDFParser 先從文件中提取數據,然後給PDFDocument類PDFDocument類將傳遞來數據傳給PDF解釋器PDFPageInterpreterPDFPageInterpreter去處理頁面內容PDFDevice將其轉換為我們所需要的內容PDFResourceManager,PDF資源管理器用於保存共享內容例如字體或圖片。2.pdf轉word實操

pdfminer的流程簡單了解了一下,那具體怎麼用,來一步步走

1.既然要先用PDFParser 先從文件中提取數據,然後給PDFDocument類,那麼就需要有PDFParser 和PDFDocument兩個類,並需要讓兩者關聯起來。

2.接下來創建PDFPageInterpreter,它的參數需要傳入PDF資源管理器PDFResourceManager和PDF的設備對象device。

3.解釋器創建好後,用解釋器調用process_page方法,去解析頁面。然後設備對象調用get_result()方法得到這個頁面的LIPage對象

4.在LIPage對象中有LTImage圖片對象,LTCurve曲線對象,LTFigure figure對象,LTTextBoxHorizontal文本對象。這裡我們只要LTTextBoxHorizontal對象,所以遍歷LIPage在裡面得到LTTextBoxHorizontal對象,獲取裡面的文字內容。

5.將得到的文字內容寫入到word文件中。

6.來看看效果咋樣

要用的PDF(只截取了一部分)
生成的word(截取的一部分)

可以看到轉化的效果還是很不錯的,只是格式稍微有點亂。

當處理多個pdf時,可以採用多線程處理。這裡pdf轉word只提供一個簡單的思路,當pdf裡面含有圖片,圖表就需要做另外的處理哦。

相關焦點

  • 8個實用的 Python 自動化辦公技巧
    平時在公司做數據分析的時候, 也會用python做些辦公自動化的工作, 領導昨天說別人3個小時的活我們已經可以3分鐘完成了 。
  • python自動化辦公系列 | python操作pdf—— PyPDF2 和 pdfplumber模塊(2)
    (1,len(os.listdir(r"G:\6Tipdm\7python辦公自動化\concat_pdf"))+1): print(i*50+1,(i+1)*50) pdf_reader = PdfFileReader("G:\\6Tipdm\\7python辦公自動化\\concat_pdf\{}-{}.pdf".format(i*50+1,(i+1)*50)) for page
  • Python自動化辦公(內容)
    python自動化辦公(python操作Excel、Word、PDF、PPT)python使用openpyxl操作excel;python使用PyPDF2和pdfplumber操作pdf;python使用python-docx操作word;python使用python-pptx操作PPT;python如何自動收發郵件;python製作電話號碼歸屬地查詢工具;一:python
  • python 實用程序 | PDF 轉 Word
    現在網上有很多文檔是 pdf 格式,雖然這個格式閱讀起來很方便,並且裡面的內容不會亂掉,但相應的我們就無法修改裡面的內容。雖然現在市面上有很多 pdf 轉 word 軟體,比如 wps,但大多數的軟體是要收費的,並且價格不菲。前些天就有人叫我幫她把 pdf 文檔轉成 word 的文檔。
  • python 實用程序 | PDF 轉 Word
    雖然現在市面上有很多 pdf 轉 word 軟體,比如 wps,但大多數的軟體是要收費的,並且價格不菲。前些天就有人叫我幫她把 pdf 文檔轉成 word 的文檔。因為 pdf 文檔裡面的內容有很多,如果全部列印的話,費用還是挺高的。所以她想把裡面的內容格式修改下,比如行間距,字間距等等。通過這樣的修改,可以把文檔的頁數減少很多,這樣就省下不少的錢。
  • 從PPT到Word,用Python輕鬆實現辦公自動化
    來源  | 早起Python(ID:zaoqi-python)在之前的自動化系列文章中,我們分別講過如何使用 Python 將 Word 中表格信息批量提取至
  • python辦公自動化
    的、可以提高工作效率的辦公小功能,和大家分享,希望可以提高大家辦公效率;1. python定時運行代碼我在公司做了一個日報數據的自動發送功能;寫了一個代碼,這個代碼在每天的早上5點自動運行;我還寫了一個大屏幕的數據的後端,每隔半小時就運行一次;我使用的是window10系統;剛開始的時候
  • Python辦公自動化| word 表格轉excel
    之前寫過一篇 Python辦公自動化 | 批量word報告生成工具 ,有小夥伴提出了逆向需求,即:從批量word中獲取內容並寫入excel,需求背景是匯總一些材料,舉例:實習鑑定表、個人簡歷、檔案等。實際需求是這樣的,現在有如下格式的若干word文檔,需要錄入標黃信息到excel,手工錄入效率太低了,能不能用python實現呢?
  • PDF轉EXCEL,python的這個技能知道嗎?
    當在pdf上看到自己想用的表格,卻無法將其複製下來的時候,只能默默地打開excel對照著pdf表格的形式敲打出來,既費時又費力!這裡介紹如何用python程序將pdf上的表格自動轉化為excel表!python辦公自動化——PDF轉Word所使用的pdfminer庫類似,都是從pdf裡面提取信息。
  • Python辦公自動化:手把手教你如何批量在PDF文件中添加文字和圖片
    課題:多頁PDF文件,在固定位置添加文字和圖片,效果如下:測試文檔放到了S盤以下位置:S:\All\QMW Community Sharing\數位化探索\python 自動化辦公課程筆記\實例4 PDF添加文字和圖片###############################如何利用Python批量的給PDF文件添加文字和圖片呢
  • PDF轉Word在線工具集合 | 夠你平常辦公用了~
    所以今天,易老師來為大家分享一些不錯的在線轉換工具,不用下載軟體,不用安裝,完全免費在線使用,相信可以滿足各位辦公者們平常的需求。1、smallpdf但是,對於我們日常辦公來說已經足夠用了。推薦指數:★★★★★使用入口:https://smallpdf.com/cn/pdf-to-word2、ilovepdf
  • Python辦公自動化|從Excel到Word
    ,所以windows用戶可以用如下代碼批量轉化doc,前提是安裝好win32com# pip install pypiwin32from win32com import clientdocx_path = path + '模板.docx'# doc轉docx的函數def doc2docx(doc_path,docx_path
  • 【他山之石】Python和Excel終於可以互通了,自動化辦公實操寶典速來下載!
    我在文後附帶《Python自動化辦公寶典》可以下載,當成速查手冊使用,隨用隨查,建議收藏!《Python自動化辦公寶典》 共包含六個章節97頁,不僅有詳細的代碼解釋,而且還有詳細的圖文說明,通俗易懂,讓你輕鬆完成辦公自動化。
  • pdf文件合併批量合併,轉Word--python一招教會你
    在平時的日常學習生活或辦公生活中,想必大家有過將pdf文件做批量合併,轉Word等方面的操作吧,今天這篇文章就教大家使用
  • 【Python基礎】python使用PyPDF2和pdfplumber操作pdf
    ()for i in range(1,len(os.listdir(r"G:\6Tipdm\7python辦公自動化\concat_pdf"))+1): print(i*50+1,(i+1)*50) pdf_reader = PdfFileReader("G:\\6Tipdm\\7python辦公自動化\\concat_pdf\{}-{}.pdf".format(i*50+1,(i+1)
  • 辦公過程中pdf轉word太痛苦?這個可以幫到你
    不知道大家有沒有這樣一個經歷,在辦公的時候避免不了文檔相互傳輸,每當遇到重要文件的時候通常都是接收到的pdf格式,pdf格式想必大家都不會陌生了,這種格式只可以閱讀而不可修改,只接收文件倒還好,要是文件中有附件需要回傳回執或者填報表格,在不可原文改動的格式下,簡直讓人十分抓狂,所以
  • Word轉PDF,so easy!
    二、Word如何快速轉換成PDF格式 了解了PDF文檔格式之後,那麼我們如何方便將Word文檔轉成PDF呢?以下介紹幾種比較常用的方法。方法一:Word2010以上版本是可以直接保存成PDF文檔的。通過該網站,我們可以實現多種文檔與PDF格式的相互轉換,而且可以實現一次多個文檔的互轉。
  • 講一講我是如何通過Python實現辦公自動化的
    Python這兩年在我國可謂是大火,各類的補習班、輔導班就如同雨後春筍一般浮現出來,而Python這門語言也被各大機構所接受,人工智慧、爬蟲、辦公自動化等等都有Python這門語言的身影。自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。
  • Python 辦公自動化之 PDF 的詳細操作
    辦公自動化應該算是打工人上班摸魚的極致追求了,況且對於 Python 愛好者來說,辦公自動化簡直是太簡單了比如,今天的辦公自動化主題:Python 操作 PDF今天的具體內容將會從以下幾個小節展開:上述操作比較常用,也可以解決較多的辦公內容,下面直接開始本節內容:
  • Python PDF文件轉Word格式,3秒完美搞定!(附打包)
    PDF轉Word是一個古老的話題,其難點在於建立從PDF基於元素位置的格式到Word基於內容的格式的映射。PDF文檔實際並不存在段落、表格的概念,PDF轉Word要做的就是將PDF文檔中「橫、豎線條圍繞著文本」解析為Word的「表格」,將「文本及下方的一條橫線」解析為「文本下劃線」,等等。pdf2docx支持Windows和Linux平臺,要求Python版本>=3.6。