Python實現PDF轉Words(文字提取)

2022-07-15 02:57:10 字數 2007 閱讀 2820

起因

最近報了乙個pmp的培訓班,然後呢,給我的一些資料是pdf文件,且不可以複製,那麼,我自己的學習整理的時候,就有點不方便,所以想把pdf中的文字提取出來。

猶記得還在讀書的時候,老師為了將pdf轉word讓我們找各種各樣的工具,最後經過一番折騰,目的是達成了,但是安裝了乙個很大的工具,這工具還不好找,且是國外的,每次跑起來,我的電腦都呼呼的響,現在好啦,曾經想都不敢想的事情,現在輕輕鬆鬆就做到了。

這個你值得了解一下,有免費的介面服務,做一些日常使用的小工具,足夠啦

註冊賬號登入,找到文字識別,建立乙個應用

然後找到檔案識別的sdk文件

sdk提供了各種語言的版本,但是我會優先選擇python,為什麼了?快啊!方便啊!

然後,就是直接上python**了,一般生成的檔名:

061416404698_0第五章模擬題專案範圍管理_1.jpeg

061416404698_0第五章模擬題專案範圍管理_2.jpeg

061416404698_0第五章模擬題專案範圍管理_10.jpeg

python遍歷資料夾之後得到的列表順序是這樣子的

['061416404698_0第五章模擬題專案範圍管理_1.jpeg','061416404698_0第五章模擬題專案範圍管理_10.jpeg','061416404698_0第五章模擬題專案範圍管理_2.jpeg']

所以,要對檔名做乙個排序

import os

from aip import aipocr

api_key = '換成你申請的api kye'

secret_key = '換成你申請的secret key'

words_fiilter = ['這裡例舉你要過濾掉的一些字元',]

""" 讀取 """

def get_file_content(filepath):

with open(filepath, 'rb') as fp:

return fp.read()

""" 刪除之前的識別結果 """

if os.path.exists("result.txt"):

os.remove("result.txt")

directory = input("請輸入資料夾路徑:")

for root, dirs, files in os.walk(directory):  # 開始遍歷檔案

# 遍歷檔案

# 將檔案重新排序

files.sort(key=lambda x: int(x.split('_')[2].split('.')[0]))

for f in files:

src = os.path.join(root, f)

image = get_file_content(src)

""" 呼叫通用文字識別, 引數為本地 """

result = client.basicgeneral(image)

words_result = result["words_result"]

for words in words_result:

content = words["words"]

if content in words_fiilter:  # 過濾掉 頁首 頁尾 和水印等資訊

continue

print(content)

with open("result.txt", 'a', encoding='utf-8') as f:

f.write(content+'\n')

直接執行,輸入資料夾路徑,識別的內容會輸出到result.txt的檔案中,搞定!

C Word文件轉PDF的實現

private string adobepdfprint adobe pdf private string adobedisprint acrobat distiller private string regroot software adobe acrobat distiller private ...

使用pdfbox實現pdf轉image

使用soffice的命令把pdf轉image的話,預設只能轉一頁的,這個有點費勁,於是也不打算沿用soffice的方案了,改用pdfbox來實現。org.apache.pdfbox pdfbox 2.0.4 org.apache.pdfbox pdfbox tools 2.0.4 public st...

python檔案過濾,pdf轉swf

客戶發了乙個文字規範過來,是doc文件,我們要轉成swf,然後用flex 展示在網頁上。由於在轉換的過程中,檔案目錄包含 等特殊符號,導致pdf轉swf檔案失敗。因此想出乙個解決方案,就是把路徑包含 的檔案,移到乙個臨時目錄再轉swf,最後把swf放回源目錄。小工具採用python實現 import...