当前位置: 首页 > news >正文

苏州建站之家人民政府网站

苏州建站之家,人民政府网站,建设投资基金管理有限公司网站,做网站推广有用吗前言 文字型pdf提取,python的库一大堆,但是图片型pdf和pdf扫描件提取,还是有些难度的,我们需要用到OCR(光学字符识别)功能。 一、准备 1、安装OCR(光学字符识别)支持库 首先要安…

前言

文字型pdf提取,python的库一大堆,但是图片型pdf和pdf扫描件提取,还是有些难度的,我们需要用到OCR(光学字符识别)功能。

一、准备

1、安装OCR(光学字符识别)支持库

首先要安装pytesseractTesserac OCR,Tesseract OCR是一种广泛使用的OCR工具,它可以用于从图像中提取文字。Tesseract OCR具有较高的识别精度和速度,同时支持多种语言。在Python中,可以使用pytesseract库来调用Tesseract OCR。

(1)安装pytesseract库:
pip install pytesseract
(2)安装Tesseract OCR程序
下载安装

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

国内下载地址:https://digi.bib.uni-mannheim.de/tesseract/

如果要识别中文的话,要安装3.0以上的版本,我这里以国内下载地址为例,下载5.0版本,如图:
在这里插入图片描述

下载完成之后,双击打开,一路next即可,自己选择好安装位置,后面要配置环境变量的。

配置环境变量

我的安装位置如图:
在这里插入图片描述

找到系统变量的path,点击编辑,如图:

在这里插入图片描述

新建一个环境变量,变量的值是tesseract的安装位置,如图:
在这里插入图片描述

点击确定之后,在系统变量界面,点击新建,新建一个系统变量,名称为TESSDATA_PREFIX,值为安装目录下的tessdata目录位置,如图:

在这里插入图片描述

在这里插入图片描述
一路点击确定即可。

下载中文包

软件默认使用的是英文包,只能识别英文,我们现在下载配置中文包,下载地址:

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

gitcode(国内):https://gitcode.com/mirrors/tesseract-ocr/tessdata/tree/main?utm_source=csdn_github_accelerator&isLogin=1

建议选择国内地址,下载速度比较快,我们下载五个包,分别是:eng.traineddata、chi_sim.traineddata、chi_sim_vert.traineddata、chi_tra.traineddata、chi_tra_vert.traineddata,如图:
在这里插入图片描述
在这里插入图片描述

第一个是英文包,后面四个是中文包,sim开头是简体,tra开头是繁体,点击进去,点击右侧的下载,将五个包下载下来,如图:
在这里插入图片描述

在这里插入图片描述

下载完成之后,复制到tesseract安装目录下的tessdata文件夹下,如图:
在这里插入图片描述
在命令行输入tesseract -v,显示tesseract的版本号,就表示安装完成了,如图:
在这里插入图片描述

现在安装工作就完成了。

测试图片识别

测试图片如下:
在这里插入图片描述
测试代码:

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)

结果如下:
在这里插入图片描述

如果我们不想每次代码都去配置tesseract的安装路径的话,可以直接在源文件里面修改,我们找到如图的文件,将框出来的地方修改成安装路径即可:
在这里插入图片描述

(2)安装其他库
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的每一页
for page_num in range(len(pdf_file)):# 获取页面page = pdf_file[page_num]# 提取页面上的图像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"]# 将字节转换为PIL图像image = Image.open(io.BytesIO(image_bytes))# 使用pytesseract对图像进行ocrtext = pytesseract.image_to_string(image, lang='chi_sim')# 打印结果print(f"Page {page_num + 1}, Image {image_index + 1}:")print(text)# 关闭pdf文件
pdf_file.close()

结果如下:
在这里插入图片描述

总结

需要注意的是,Tesseract OCR对于一些复杂或低质量的图像可能识别效果不佳。

提示

对于文字型pdf的提取,可以看这几篇文章:

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

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

https://blog.csdn.net/Achernar0208/article/details/129199937

http://www.mnyf.cn/news/15153.html

相关文章:

  • 福州网络营销网站电脑优化软件推荐
  • 义乌网站建设怎么做网站推广
  • 网站flash代码百度热搜大数据
  • wordpress改变邮箱班级优化大师电脑版
  • 做网站项目体会武汉网站开发公司
  • 郑州网站公司助企百度下载安装 官方
  • 彩票资料网站怎么做博客优化网站seo怎么写
  • 如何把自己做的网站发布到网上网络推广工作内容怎么写
  • 深圳地铁公司网站自媒体代运营
  • phpnow 新建网站百度搜索排名购买
  • 江门有什么网站推广搜索引擎优化案例
  • 大庆免费网站建设公谷歌官方seo入门指南
  • 深圳做分销商城网站百度快照推广
  • 惠州网络推广领头seo sem推广
  • 临沂做网站推广的公司有seo建站教学
  • php做的网站怎么调试seo站长论坛
  • .net网站开发模板今日小说排行榜
  • 可以做ps的网站情感营销经典案例
  • 西安有一个电影他要拉投资做网站免费设计模板网站
  • 网络推广网站排名网页设计效果图及代码
  • 做网站iiwok创建网站的公司
  • 2023年山东还有疫情吗seo外链优化
  • 做视频网站审核编辑有假么长沙网站包年优化
  • 怎么做影视网站百度文库官网入口
  • App网站建设 高品质网站建设百度秒收录技术最新
  • 外贸做平台好还是自己建网站好提高网站排名的软件
  • 高端网站建设搭建seo发包软件
  • 大地资源在线观看视频在线观看搜索引擎seo推广
  • wordpress_zh如何做seo搜索优化
  • 山西网站建站系统哪家好windows优化大师是自带的吗