国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

基于Python實(shí)現(xiàn)對(duì)PDF文件的OCR識(shí)別

2019-11-25 16:37:24
字體:
供稿:網(wǎng)友

最近在做一個(gè)項(xiàng)目的時(shí)候,需要將PDF文件作為輸入,從中輸出文本,然后將文本存入數(shù)據(jù)庫(kù)中。為此,我找尋了很久的解決方案,最終才確定使用tesseract。所以不要浪費(fèi)時(shí)間了,我們開始吧。

1.安裝tesseract

在不同的系統(tǒng)中安裝tesseract非常容易。為了簡(jiǎn)便,我們以Ubuntu為例。

Ubuntu中你僅僅需要運(yùn)行以下命令:

這將會(huì)安裝支持3種不同語(yǔ)言的tesseract

2.安裝PyOCR

現(xiàn)在我們還需要安裝tesseract的Python接口。幸運(yùn)的是,有許多出色的Python接口。

我們采用最新的一個(gè):

3.安裝Wand和PIL

在我們開始之前,還需要另外安裝兩個(gè)依賴包。一個(gè)是Wand。它是Imagemagick的Python接口。

我們需要使用它來將PDF文件轉(zhuǎn)換成圖像:

我們也需要PIL因?yàn)?strong>PyOCR需要使用它。你可以查看官方文檔以確定如何將PIL安裝到你的操作系統(tǒng)中。

4.熱身

讓我們開始我們的腳本吧。首先,我們需要導(dǎo)入一些重要的庫(kù):

注意:我將從PIL導(dǎo)入的Image模塊改名為PI了,因?yàn)槿绻贿@樣做的話,它將和wand.image模塊發(fā)生重名沖突。

5.開始

現(xiàn)在我們需要獲得OCR庫(kù)(在本例中,即tesseract)的句柄以及我們?cè)?strong>PyOCR中將使用的語(yǔ)言:

我們使用tool.get_available_languages里的第二種語(yǔ)言,因?yàn)橹拔以鴩L試過,第二種語(yǔ)言就是英語(yǔ)。

接著,我們需要建立兩個(gè)列表,用于存儲(chǔ)我們的圖像和最終的文本。

下一步,我們需要采用wand將一個(gè)PDF文件轉(zhuǎn)成jpeg文件。讓我們?cè)囈辉嚢桑?/p>

注意:PDF_FILE_NAME替換成當(dāng)前路徑下的一個(gè)可用的PDF文件名。

wand已經(jīng)將PDF中所有的獨(dú)立頁(yè)面都轉(zhuǎn)成了獨(dú)立的二進(jìn)制圖像對(duì)象。我們可以遍歷這個(gè)大對(duì)象,并把它們加入到req_image序列中去。

現(xiàn)在,我們僅僅需要在圖像對(duì)象上運(yùn)行OCR即可,非常簡(jiǎn)單:

現(xiàn)在,所有識(shí)別出的文本已經(jīng)加到了final_text序列中了。你可以任意地使用它。以上就是利用Python對(duì)PDF文件做OCR識(shí)別的全部?jī)?nèi)容,希望這個(gè)教程能夠幫助到你們!

英文原文:https://pythontips.com/2016/02/25/ocr-on-pdf-files-using-python/

譯者:LuCima

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 师宗县| 达拉特旗| 景德镇市| 望城县| 西乌珠穆沁旗| 奉贤区| 兴化市| 安福县| 柏乡县| 太白县| 定陶县| 晋中市| 广元市| 安阳县| 新民市| 美姑县| 阳城县| 岱山县| 应城市| 宾阳县| 青海省| 两当县| 南投市| 苏尼特右旗| 洛宁县| 通城县| 渝北区| 泗洪县| 安顺市| 慈利县| 苏尼特左旗| 昌平区| 铁力市| 渝北区| 舟曲县| 临洮县| 扎囊县| 墨竹工卡县| 临泽县| 屯留县| 天峻县|