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

手机网站静态动态拉新app推广平台排名

手机网站静态动态,拉新app推广平台排名,wordpress 百度联盟,鞍山公司网站建设目录 0 环境准备 1 安装tesseract-ocr引擎 1.1 下载安装包 1.2 安装tesseract-ocr 1.2.1 选择语言 1.2.2 开始安装 1.2.3 同意安装协议 1.2.4 选择安装用户 1.2.5 选择安装组件 1.2.6 选择安装路径 1.2.7 系统安装tesseract-ocr 1.2.8 完成安装 1.2.9 结束安装 1…

目录

0 环境准备

1 安装tesseract-ocr引擎

1.1 下载安装包

1.2 安装tesseract-ocr

1.2.1 选择语言

1.2.2 开始安装

1.2.3 同意安装协议

1.2.4 选择安装用户

1.2.5 选择安装组件

1.2.6 选择安装路径

1.2.7 系统安装tesseract-ocr

1.2.8 完成安装

1.2.9 结束安装

1.3 设置环境变量

1.4 验证是否安装成功

1.5 安装简体中文语言包

1.5.1 下载简体中文语言包

1.5.2 放置简体中文语言包

1.5.3 查看简体中文语言包是否安装成功

2 创建项目python环境

2.1 conda创建python环境

2.2 在pycharm中创建项目

2.3 激活python环境

2.4 安装项目依赖包

3 程序逻辑实现

3.1 导入依赖包

3.2 定义PDFOCR类

3.3 定义初始化方法

3.4 定义pdf转换成照片方法

3.5 定义OCR识别照片方法

3.6 定义清楚缓存资源方法

3.7 实现main方法

4 测试验证

5 完整代码

附录

附录一:项目结构

附录二: 可能存在的问题

问题一:找不到tesseract路径


0 环境准备

  • 已安装miniconda环境
  • 具备科学上网条件

1 安装tesseract-ocr引擎

        Python读取扫描版PDF文件的详细解决方案,结合OCR技术和PyMuPDF库实现,代码需兼容中英文识别。OCR技术需要安装tesseract-ocr引擎,本章节将介绍在windows环境下如何安装tesseract-ocr引擎。

1.1 下载安装包

        windows环境访问以下地址下载tesseract-ocr安装包,需要科学上网。

windows下载地址:Home · UB-Mannheim/tesseract Wiki · GitHub

1.2 安装tesseract-ocr

1.2.1 选择语言

        选择英语,点击ok。

1.2.2 开始安装

        点击next开始安装。

1.2.3 同意安装协议

        点击I Agree。

1.2.4 选择安装用户

        选择Install for anyone using this compoter。点击next。

1.2.5 选择安装组件

        这里直接点击next

1.2.6 选择安装路径

        注意选择不要带有空格、中文、特殊字符的安装路径。防止使用过程出现莫名其妙的问题。安装路径选择完成后点击next。

1.2.7 系统安装tesseract-ocr

        这里直接点击install。

1.2.8 完成安装

      这里直接点击next。

1.2.9 结束安装

        这里直接点击finish。

1.3 设置环境变量

        在系统环境变量Path中添加tesseract-ocr目录

1.4 验证是否安装成功

        在命令行中输入tesseract -v 查看是否能正常看到tesseract的版本信息,如下图

tesseract -v

1.5 安装简体中文语言包

        Tesseract 默认不支持中文,若要识别中文,需要下载相应的语言包。

1.5.1 下载简体中文语言包

可以从以下地址下载简体中文语言包:

        官网下载:Traineddata Files for Version 4.00 + | tessdoc ,找到 Chinese - Simplified 对应的语言包下载。需要科学上网。

1.5.2 放置简体中文语言包

        将下载的chi_sim.traineddata文件放置到Tesseract-OCR的数据目录,本机是D:\setup\Tesseract-OCR\tessdata。请修改成自己的安装地址。

1.5.3 查看简体中文语言包是否安装成功

        输入查询支持语言命令,可以看到安装的chi_sim语言,如下图:

tesseract --list-langs

2 创建项目python环境

2.1 conda创建python环境

conda create -n pdf_ocr_demo python=3.10

2.2 在pycharm中创建项目

  1. 解释器类型:选择自定义环境
  2. 环境:选择现有
  3. 类型:选择conda
  4. 环境:选择上一步创建的pdf_ocr_demo环境

2.3 激活python环境

conda activate pdf_ocr_demo

2.4 安装项目依赖包

pip install PyMuPDF pytesseract pillow

3 程序逻辑实现

3.1 导入依赖包

import osimport fitz
import pytesseractfrom PIL import Image

3.2 定义PDFOCR类

class PDFOCR:

3.3 定义初始化方法

    def __init__(self, file_path, output_txt):self.file_path = file_pathself.output_txt = output_txtself.temp_img_dir = 'temp_imgs'os.makedirs(self.temp_img_dir, exist_ok=True)

3.4 定义pdf转换成照片方法

    def _pdf_to_images(self, zoom=3):"""将PDF每页转换为高清图片"""doc = fitz.open(self.file_path)for page_num in range(len(doc)):page = doc.load_page(page_num)# 设置缩放参数提升分辨率mat = fitz.Matrix(zoom, zoom)pix = page.get_pixmap(matrix=mat, alpha=False)p_index = page_num + 1p_index = str(p_index).zfill(5)img_path = os.path.join(self.temp_img_dir, f'page_{p_index}.png')pix.save(img_path)print(f"已完成 {img_path} 存储")doc.close()

3.5 定义OCR识别照片方法

    def _ocr_images(self):"""对转换后的图片进行OCR识别"""with open(self.output_txt, 'w', encoding='utf-8') as f:for img_file in sorted(os.listdir(self.temp_img_dir)):img_path = os.path.join(self.temp_img_dir, img_file)# 图像预处理img = Image.open(img_path).convert('L') # 转为灰度图# OCR识别text = pytesseract.image_to_string(img, lang='chi_sim+eng') # 简体中文f.write(text + '\n')print(f"已完成 {img_file} 识别")

3.6 定义清楚缓存资源方法

    def _cleanup(self):"""清理临时文件"""for img_file in os.listdir(self.temp_img_dir):os.remove(os.path.join(self.temp_img_dir, img_file))os.rmdir(self.temp_img_dir)print("清理完成")

3.7 实现main方法

if __name__ == '__main__':processor = PDFOCR('./in_pdf/617336.pdf', './out/output.txt')try:processor._pdf_to_images(zoom=3)processor._ocr_images()finally:processor._cleanup()

4 测试验证

        找一个扫描版PDF文件,放入in_pdf文件夹,修改main方法中pdf文件名,运行pdf_ocr_reader.py,可以看到执行结果如下图:

5 完整代码

import osimport fitz
import pytesseractfrom PIL import Imageclass PDFOCR:def __init__(self, file_path, output_txt):self.file_path = file_pathself.output_txt = output_txtself.temp_img_dir = 'temp_imgs'os.makedirs(self.temp_img_dir, exist_ok=True)def _pdf_to_images(self, zoom=3):"""将PDF每页转换为高清图片"""doc = fitz.open(self.file_path)for page_num in range(len(doc)):page = doc.load_page(page_num)# 设置缩放参数提升分辨率mat = fitz.Matrix(zoom, zoom)pix = page.get_pixmap(matrix=mat, alpha=False)p_index = page_num + 1p_index = str(p_index).zfill(5)img_path = os.path.join(self.temp_img_dir, f'page_{p_index}.png')pix.save(img_path)print(f"已完成 {img_path} 存储")doc.close()def _ocr_images(self):"""对转换后的图片进行OCR识别"""with open(self.output_txt, 'w', encoding='utf-8') as f:for img_file in sorted(os.listdir(self.temp_img_dir)):img_path = os.path.join(self.temp_img_dir, img_file)# 图像预处理img = Image.open(img_path).convert('L') # 转为灰度图# OCR识别text = pytesseract.image_to_string(img, lang='chi_sim+eng') # 简体中文f.write(text + '\n')print(f"已完成 {img_file} 识别")def _cleanup(self):"""清理临时文件"""for img_file in os.listdir(self.temp_img_dir):os.remove(os.path.join(self.temp_img_dir, img_file))os.rmdir(self.temp_img_dir)print("清理完成")if __name__ == '__main__':processor = PDFOCR('./in_pdf/617336.pdf', './out/output.txt')try:processor._pdf_to_images(zoom=3)processor._ocr_images()finally:processor._cleanup()

附录

附录一:项目结构

附录二: 可能存在的问题

问题一:找不到tesseract路径

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

解决办法:

        请确认环境变量Path中是否配置tesseract的路径,参考章节1.3。如果确认已配置,则重启pycharm,重新运行程序。

http://www.dtcms.com/wzjs/200481.html

相关文章:

  • 合肥企业建站系统一件代发48个货源网站
  • 5g空间大吗企业网站营销宣传图片
  • 怎么做网站主页营销策划方案内容
  • 做微商进哪个网站安全吗网站建设模板
  • 自己做网站的成本搜索引擎seo是什么
  • web网站服务器价格集合竞价口诀背熟6句
  • dede仿站优化一下
  • 天长做网站公司头条发布视频成功显示404
  • 镇海做网站友情链接交易平台
  • 大型门户网站程序山西网络推广
  • 青岛做企业网站的公司成都网络营销
  • wordpress更改主题名称南京seo网络推广
  • 淄川政府网站建设专家专业地推团队电话
  • 网站域名的组成互联网宣传方式有哪些
  • 西安知名网站建设公司排名客户资源买卖平台
  • 如何做网站搭桥链接安卓系统优化app
  • 政府类网站风格特点流量平台
  • 工程造价建设信息网站男生短期培训就业
  • 商洛网站建设公司seo网站监测
  • 企业网站改自适应seo怎么做优化
  • iis 提示网站到期英文网站seo
  • wordpress自媒体二号seo基础
  • 厦门市网站建设公司谷歌seo课程
  • 男女之间做下面哪个网站免费郑州关键词排名外包
  • 快速做网站哪家好百度官方首页
  • 北京门户网站网络销售公司
  • 网上购物网站制作百度禁止seo推广
  • 成立公司需要什么材料和手续上海何鹏seo
  • 用帝国做网站怎么样网站软文代写
  • 网站的封面怎么做苏州网站开发公司