国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python提取圖片型pdf中的文字(提取pdf掃描件文字)

這篇具有很好參考價(jià)值的文章主要介紹了python提取圖片型pdf中的文字(提取pdf掃描件文字)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

文字型pdf提取,python的庫(kù)一大堆,但是圖片型pdf和pdf掃描件提取,還是有些難度的,我們需要用到OCR(光學(xué)字符識(shí)別)功能。

一、準(zhǔn)備

1、安裝OCR(光學(xué)字符識(shí)別)支持庫(kù)

首先要安裝pytesseractTesserac OCR,Tesseract OCR是一種廣泛使用的OCR工具,它可以用于從圖像中提取文字。Tesseract OCR具有較高的識(shí)別精度和速度,同時(shí)支持多種語(yǔ)言。在Python中,可以使用pytesseract庫(kù)來(lái)調(diào)用Tesseract OCR。

(1)安裝pytesseract庫(kù):
pip install pytesseract
(2)安裝Tesseract OCR程序
下載安裝

github下載地址:https://github.com/tesseract-ocr/tesseract

國(guó)內(nèi)下載地址:https://digi.bib.uni-mannheim.de/tesseract/

如果要識(shí)別中文的話,要安裝3.0以上的版本,我這里以國(guó)內(nèi)下載地址為例,下載5.0版本,如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

下載完成之后,雙擊打開,一路next即可,自己選擇好安裝位置,后面要配置環(huán)境變量的。

配置環(huán)境變量

我的安裝位置如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

找到系統(tǒng)變量的path,點(diǎn)擊編輯,如圖:

python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

新建一個(gè)環(huán)境變量,變量的值是tesseract的安裝位置,如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

點(diǎn)擊確定之后,在系統(tǒng)變量界面,點(diǎn)擊新建,新建一個(gè)系統(tǒng)變量,名稱為TESSDATA_PREFIX,值為安裝目錄下的tessdata目錄位置,如圖:

python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言
一路點(diǎn)擊確定即可。

下載中文包

軟件默認(rèn)使用的是英文包,只能識(shí)別英文,我們現(xiàn)在下載配置中文包,下載地址:

github:https://github.com/tesseract-ocr/tessdata

gitcode(國(guó)內(nèi)):https://gitcode.com/mirrors/tesseract-ocr/tessdata/tree/main?utm_source=csdn_github_accelerator&isLogin=1

建議選擇國(guó)內(nèi)地址,下載速度比較快,我們下載五個(gè)包,分別是:eng.traineddata、chi_sim.traineddata、chi_sim_vert.traineddata、chi_tra.traineddata、chi_tra_vert.traineddata,如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

第一個(gè)是英文包,后面四個(gè)是中文包,sim開頭是簡(jiǎn)體,tra開頭是繁體,點(diǎn)擊進(jìn)去,點(diǎn)擊右側(cè)的下載,將五個(gè)包下載下來(lái),如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

下載完成之后,復(fù)制到tesseract安裝目錄下的tessdata文件夾下,如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言
在命令行輸入tesseract -v,顯示tesseract的版本號(hào),就表示安裝完成了,如圖:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

現(xiàn)在安裝工作就完成了。

測(cè)試圖片識(shí)別

測(cè)試圖片如下:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言
測(cè)試代碼:

import pytesseract
from PIL import Image

# (1)配置tesseract安裝路徑
pytesseract.pytesseract.tesseract_cmd = r'F:\tesseract\tesseract.exe'

text = pytesseract.image_to_string(Image.open(r'1-26.jpg'))
print(text)

結(jié)果如下:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

如果我們不想每次代碼都去配置tesseract的安裝路徑的話,可以直接在源文件里面修改,我們找到如圖的文件,將框出來(lái)的地方修改成安裝路徑即可:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

(2)安裝其他庫(kù)
pip install PyMuPDF PIL

二、正式提取圖片型pdf的文字

代碼如下:

# -*- coding: UTF-8 -*-
"""
@Date   :2023/12/17
"""
import fitz
import pytesseract
from PIL import Image
import io

# (1)配置tesseract安裝路徑
pytesseract.pytesseract.tesseract_cmd = r'F:\tesseract\tesseract.exe'

# (2)打開pdf文件
pdf_file = fitz.open(r'一戶一宅.pdf')

# (3)遍歷pdf的每一頁(yè)
for page_num in range(len(pdf_file)):
    # 獲取頁(yè)面
    page = pdf_file[page_num]

    # 提取頁(yè)面上的圖像
    image_list = page.get_images(full=True)

    for image_index, img in enumerate(image_list):
        # 提取圖像
        xref = img[0]
        base_image = pdf_file.extract_image(xref)
        image_bytes = base_image["image"]

        # 將字節(jié)轉(zhuǎn)換為PIL圖像
        image = Image.open(io.BytesIO(image_bytes))

        # 使用pytesseract對(duì)圖像進(jìn)行ocr
        text = pytesseract.image_to_string(image, lang='chi_sim')

        # 打印結(jié)果
        print(f"Page {page_num + 1}, Image {image_index + 1}:")
        print(text)

# 關(guān)閉pdf文件
pdf_file.close()

結(jié)果如下:
python讀取掃描件內(nèi)容,Python,python,pdf,開發(fā)語(yǔ)言

總結(jié)

需要注意的是,Tesseract OCR對(duì)于一些復(fù)雜或低質(zhì)量的圖像可能識(shí)別效果不佳。

提示

對(duì)于文字型pdf的提取,可以看這幾篇文章:

https://blog.csdn.net/weixin_43856625/article/details/134705266

https://www.jianshu.com/p/8fbb662bd6f7

https://blog.csdn.net/Achernar0208/article/details/129199937文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-842773.html

到了這里,關(guān)于python提取圖片型pdf中的文字(提取pdf掃描件文字)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 通過(guò)Python的PyPDF2庫(kù)提取pdf中的文字

    通過(guò)Python的PyPDF2庫(kù)提取pdf中的文字

    PyPDF2是一個(gè)用于處理PDF文件的Python庫(kù),它提供了許多用于讀取和操作PDF文件的功能。它可以對(duì)PDF文件進(jìn)行合并、分割、旋轉(zhuǎn)、提取頁(yè)面、加密和解密等操作,也可以添加文本、圖像和水印等元素到PDF文件中。 PyPDF2庫(kù)允許開發(fā)人員通過(guò)Python代碼輕松地處理PDF文件,因?yàn)樗峁┝?/p>

    2024年02月11日
    瀏覽(30)
  • 【Python ? 圖片識(shí)別】pytesseract快速識(shí)別提取圖片中的文字

    【Python ? 圖片識(shí)別】pytesseract快速識(shí)別提取圖片中的文字

    提示:本文多圖,請(qǐng)手機(jī)端注意流量。 利用python做圖片識(shí)別,識(shí)別提取圖片中的文字會(huì)有很多方法,但是想要簡(jiǎn)單一點(diǎn)怎么辦,那就可以使用tesseract識(shí)別引擎來(lái)實(shí)現(xiàn),一行代碼就可以做到提取圖片文本。 本程序用到了兩個(gè)python庫(kù),pytesseract和PIL,所以先來(lái)安裝。 運(yùn)行以下命

    2024年02月02日
    瀏覽(28)
  • 通過(guò)Python的fitz庫(kù)提取pdf中的圖片

    通過(guò)Python的fitz庫(kù)提取pdf中的圖片

    大家好,我是空空star,本篇給大家分享一下 《通過(guò)Python的fitz庫(kù)提取pdf中的圖片》 。 Fitz庫(kù)是一個(gè)Python圖像處理庫(kù),主要用于打開、編輯和保存PDF、TIFF和JPEG格式的圖像。它可以幫助用戶讀取和寫入PDF文件,提取PDF頁(yè)面以及在頁(yè)面上進(jìn)行標(biāo)記和注釋。此外,F(xiàn)itz庫(kù)還提供了一些

    2024年02月07日
    瀏覽(25)
  • 基于Tesseract模塊Python實(shí)現(xiàn)提取圖片中的文字信息(安裝+使用教程)

    基于Tesseract模塊Python實(shí)現(xiàn)提取圖片中的文字信息(安裝+使用教程)

    Python實(shí)現(xiàn)提取圖片中的文字可以使用Optical Character Recognition (OCR) 技術(shù)來(lái)解決。OCR是指將圖像中的文本轉(zhuǎn)換成可編輯的文本的過(guò)程。Python有許多OCR庫(kù),但最流行和最廣泛使用的是Tesseract庫(kù)。 下面是一個(gè)使用Python和Tesseract來(lái)提取圖像中的文本的簡(jiǎn)單示例代碼。 OCR,即光學(xué)字符識(shí)

    2024年02月05日
    瀏覽(18)
  • 通過(guò)Python的PyPDF2庫(kù)提取pdf中的圖片

    通過(guò)Python的PyPDF2庫(kù)提取pdf中的圖片

    大家好,我是空空star,本篇給大家分享一下通過(guò)Python的PyPDF2庫(kù) 提取pdf中的圖片 。 上一篇已經(jīng)給大家分享了 提取pdf中的文字 ,感興趣的同學(xué)可以閱讀下。 本篇演示所用python版本: Python 3.8.9 通過(guò)Python的PyPDF2庫(kù)提取pdf中的文字 PyPDF2庫(kù)是一個(gè)用于處理PDF文件的Python庫(kù)。它提供了

    2024年02月06日
    瀏覽(26)
  • java讀取圖片、PDF中圖片上的文字

    java讀取圖片、PDF中圖片上的文字

    提示:本文是基于tess4j 總是有一些與眾不同的需求在等著研發(fā)人員去探索,本文介紹如何通過(guò)java讀取圖片上的文字。 說(shuō)tess4j之前,先說(shuō)說(shuō)Tesseract,因?yàn)閠ess4j是基于它的封裝。 Tesseract的OCR引擎最先由HP實(shí)驗(yàn)室于1985年開始研發(fā),至1995年時(shí)已經(jīng)成為OCR業(yè)內(nèi)最準(zhǔn)確的三款識(shí)別引擎之

    2024年02月09日
    瀏覽(17)
  • JAVA PDF 給PDF添加文字/圖片水?。ㄖ付▋?nèi)容),并且設(shè)置位置

    JAVA PDF 給PDF添加文字/圖片水印(指定內(nèi)容),并且設(shè)置位置

    提示:看完這個(gè)簡(jiǎn)單的demo 后就知道怎樣去操作一個(gè)PDF了 文章目錄 前言 一、前提準(zhǔn)備 二、使用步驟 1.引入庫(kù) 2.以下是部分代碼的作用 總結(jié) 提示:操作PDF其實(shí)是一件很簡(jiǎn)單的事情,比一般的CRUD都簡(jiǎn)單 例如:我們拿到了一個(gè)需求,我需要給這個(gè)PDF設(shè)置一個(gè) 電子簽名 ( 就是一

    2024年04月23日
    瀏覽(29)
  • java中pdfbox處理pdf常用方法(讀取、寫入、合并、拆分、寫文字、寫圖片)

    java中pdfbox處理pdf常用方法(讀取、寫入、合并、拆分、寫文字、寫圖片)

    方法代碼: 測(cè)試用例: 2.1寫文字 方法代碼: 測(cè)試用例: A.pdf: A2.pdf: 2.2寫圖片 方法代碼: 測(cè)試用例: A.pdf: pic.jpg: A2.pdf: 方法代碼: 測(cè)試用例: 方法代碼: 測(cè)試用例: 引用鏈接: (17條消息) 使用Apache PDFBox實(shí)現(xiàn)拆分、合并PDF_似有風(fēng)中泣的博客-CSDN博客 (17條消息) Java使用P

    2024年02月11日
    瀏覽(31)
  • java 讀取圖片中的文字

    java 讀取圖片中的文字

    解壓后的文件庫(kù):

    2024年02月07日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包