Pdf轉Word用Python輕鬆搞定!

大家在日常的工作學習過程中,都會遇到一個問題就是將pdf中的文本內容轉化爲word的形式,也就是從只讀變成可讀寫的形式。面對這種情況,大家大都採用網上的工具,但是網上的工具良莠不齊,很難達到我們的需求。

今天,小編就帶領大家利用python來實現如何將pdf的內容轉化爲word文檔。同時我們還將提取pdf中的圖片,保存到我們的指定文件夾內。

01.文字的提取

我們首先要做的是對於pdf中文本的提取,如下圖所示:

Pdf中文字是隻允許我們進行只讀,但是無法進行更改,所以我們要做的就是提取pdf中的文字信息,然後將提取到的文字寫入到word文件當中,讓我們能夠進行後續的改寫。對於文字的提取,我們利用的是pdfminer函數庫,其主要的函數如下圖所示:

  • 程序首先利用get_content_from_pdf函數來返回pdf中提取到的數據;

  • 然後分別創建了PDFResourceManager對象來保存共享數據內容,PDFPageAggregator對象來將資源對象處理成我們需要的格式,而PDFPageInterpreter則是用來處理頁面的內容;

  • 程序中page_index用來幫助我們設定需要提取哪幾頁的內容,對於我們需要提取的頁面,通過創建的PDFPageInterpreter對象來對頁面信息進行解釋;

  • 最後通過PDFPageAggregator對象來對數據進行處理;

這裏的layout中就包含了頁面解析出來的各種對象。包括文本,圖片等信息。但是小編髮現,對於圖片的提取,pdfminer的效果很不好,所以後面針對於圖片的提取,小編採用的fitz庫進行單獨的處理,取得很好的圖片提取效果。說了這麼多,我們先來看一下對於文本的處理結果。

我們的pdf是一個兩頁的pdf文檔,我們只讓程序去提取第一頁的文本,從上圖可以看出,程序完整的提取出第一頁的文本,沒有任何的錯誤。

02.圖片的提取

有了對於文字的處理,接下來我們就來看一下如何提取pdf中的圖片,並將其保存到本地。對於圖片的提取,程序如下圖所示:

上述的程序中,我們利用fitz庫來提取pdf文檔中的對象,然後通過字符串匹配來判斷對象是不是圖片類型,如果不是的話,我們直接進行跳過即可。

如果判斷對象是圖片類型的話,我們邊可以通過創建PixMap對象來提取圖片,並保存到我們指定的路徑下即可。結果如下圖所示:

上圖可以看出,我們正確的將圖片進行了提取,從而達到了我們的圖片提取的目的,而且小編也嘗試過多個圖片的提取,同樣也是沒有任何壓力。可以在短短的幾秒內完成pdf文檔的所有圖片的提取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章