textract OCR的安装使用

news/2024/11/29 16:23:22/

安装

pip install textract

使用

在 Python 中,textract 是一个用于提取文本和信息的库。它提供了一个函数 textract.process(),用于处理不同类型的文档并提取文本内容。下面是 textract.process() 函数的各个参数的介绍:

  1. filename(必需参数):要处理的文件的路径或文件对象。可以是本地文件的路径或文件对象,也可以是远程文件的URL。
  2. encoding(可选参数):指定文本编码格式。默认为 None,表示自动检测文本的编码。你可以指定其他编码格式,如 'utf-8''latin-1' 等。
  3. method(可选参数):指定文本提取的方法。默认为 None,表示使用自动检测的方法。可用的方法包括 'tesseract''pdfminer''docx''pptx''xlrd' 等。你也可以传递一个方法列表,textract 将按顺序尝试这些方法,直到成功提取文本。
  4. language(可选参数):指定要用于文本提取的语言。默认为 None,表示自动检测语言。你可以指定语言代码,如 'en' 表示英文,'de' 表示德文等。
  5. processing_flags(可选参数):指定额外的处理标志。这是一个位掩码,用于控制处理过程中的不同选项。常用的标志包括 textract.processing_flags.PDF_STEMMING(对 PDF 进行词干提取)、textract.processing_flags.PDF_PRESERVE_LAYOUT(保留 PDF 文档的布局)等。
  6. engine_args(可选参数):指定提取引擎的附加参数。这是一个字典,用于传递特定提取引擎的参数。根据不同的提取方法,可用的参数也不同。
  7. extension(可选参数):指定文件的扩展名。默认为 None,表示根据文件名自动检测扩展名。如果文件名没有扩展名,或者需要强制使用特定的提取方法,可以通过指定扩展名来选择提取方法。
"""
textract的使用
"""
import textractdef file2text(file_path, encodings="utf-8", lang="chi_sim"):""":function: 识别各个文件,如img、pdf、doc等转换文本内容:param file_path:指定文件的路径:param encodings: 转换出的编码格式:param lang: 识别的语言集:return: 返回转换出的文本内容"""# 使用textract提取文本text = textract.process(file_path, encoding=encodings, language=lang)# 返回提取到的文本return text.decode('utf-8')

图片OCR

Windows下安装tesseract

  1. 在官网Index of /tesseract (uni-mannheim.de)下载tesseract,下载时在选择更多语言包时记得勾选中文包
  2. 配置tesseract程序的环境变量
  3. 命令行输入tesseract,出现下图即安装成功

PDF OCR

  1. 首先安装poppler包

poppler包是pdftotext的依赖包,在conda环境下运行下列命令即可:

conda install -c conda-forge poppler
  1. 使用pip命令安装pdfminer.six包,该包在多种环境下均可一键pip安装
pip install pdfminer.six

DOCX OCR

DOCX OCR在安装textract时,已经安装了相关的ocr包


http://www.ppmy.cn/news/487447.html

相关文章

基于高精度三维机器视觉的汽车曲轴无序抓取系统应用

Part.1 行业背景 汽车产业的高速发展,对零部件自动化生产提出了更高要求。随着汽车销量的水涨船高,传统的手工生产模式已经难以满足大批量生产的需求,自动化生产是必然趋势。 曲轴是汽车发动机的关键组件之一,生产过程复杂&#…

windows11 安装Python环境

安装Python3.11.4 1.下载2.找到当前系统的版本3.安装 1.下载 访问Python官网 2.找到当前系统的版本 3.安装 在安装导向中,选择"Customize installation"(自定义安装)选项,以便于可以选择安装路径和其他选项在"…

gunicorn配置中bind字段指定具体值存在安全风险(硬编码IP)的解决方案

我的环境: nginx---(反向代理)---gunicorn; gunicorn使用supervisor管理; 建议方案二 方案一:将127.0.0.1:8000这个字符串定义成系统变量,读取系统变量 import multiprocessing import os …

5.5.1 下一代网际协议IPv6|概述

5.5.1 下一代网际协议IPv6|概述 我们一起来学习涉及到网络层的最后一块----下一代网际协议IPv6,我们已经掌握了网络互连的基本原理,在TCP/IP模型中正是有了互联网层的网际协议,才能真正实现异构网络之间的互联互通,这是建立在我们…

DC靶场系列--DC2

搭建环境 靶场下载地址:链接:https://pan.baidu.com/s/1uil0Imx0qAfFjxgK4INwhQ 提取码:1234 虚拟机环境下载地址:链接:https://pan.baidu.com/s/1yCqLQKW37TASQqCuZtoLEQ 提取码:1234 基本环境准…

适合3D游戏建模的平民价笔记本,4K-5K

几款适合工程设计、模型制作类学生使用的笔记本,包括以下机型: 型号:炫龙DC2畅玩版 商品编号:京东100004473510 参考价格:4399元 型号:戴尔成就5000 商品编号:京东100003406363 参考价格&am…

【数据治理-06】做好数据分类分级,为数据安全有序流动保驾护航

我们常说人以类聚,物以群分,确实是这样,杜威说过“所有知识都是分类”!很好理解,分类是认知经济,任何有效分类,都可以极大地节省我们的认知精力。数据分类分级具体说来,其实包含了2个…

6月20日作业

我实现的功能&#xff0c;执行一次应用程序led灯 亮&#xff0c;再次执行应用程序led灯灭。 内核模块&#xff1a; #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/io.h&…