安装
pip install textract
使用
在 Python 中,textract 是一个用于提取文本和信息的库。它提供了一个函数 textract.process()
,用于处理不同类型的文档并提取文本内容。下面是 textract.process()
函数的各个参数的介绍:
filename
(必需参数):要处理的文件的路径或文件对象。可以是本地文件的路径或文件对象,也可以是远程文件的URL。encoding
(可选参数):指定文本编码格式。默认为None
,表示自动检测文本的编码。你可以指定其他编码格式,如'utf-8'
、'latin-1'
等。method
(可选参数):指定文本提取的方法。默认为None
,表示使用自动检测的方法。可用的方法包括'tesseract'
、'pdfminer'
、'docx'
、'pptx'
、'xlrd'
等。你也可以传递一个方法列表,textract 将按顺序尝试这些方法,直到成功提取文本。language
(可选参数):指定要用于文本提取的语言。默认为None
,表示自动检测语言。你可以指定语言代码,如'en'
表示英文,'de'
表示德文等。processing_flags
(可选参数):指定额外的处理标志。这是一个位掩码,用于控制处理过程中的不同选项。常用的标志包括textract.processing_flags.PDF_STEMMING
(对 PDF 进行词干提取)、textract.processing_flags.PDF_PRESERVE_LAYOUT
(保留 PDF 文档的布局)等。engine_args
(可选参数):指定提取引擎的附加参数。这是一个字典,用于传递特定提取引擎的参数。根据不同的提取方法,可用的参数也不同。extension
(可选参数):指定文件的扩展名。默认为None
,表示根据文件名自动检测扩展名。如果文件名没有扩展名,或者需要强制使用特定的提取方法,可以通过指定扩展名来选择提取方法。
"""
textract的使用
"""
import textract
def 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
- 在官网Index of /tesseract (uni-mannheim.de)下载tesseract,下载时在选择更多语言包时记得勾选中文包
- 配置tesseract程序的环境变量
- 命令行输入tesseract,出现下图即安装成功
PDF OCR
- 首先安装poppler包
poppler包是pdftotext的依赖包,在conda环境下运行下列命令即可:
conda install -c conda-forge poppler
- 使用pip命令安装pdfminer.six包,该包在多种环境下均可一键pip安装
pip install pdfminer.six
DOCX OCR
DOCX OCR在安装textract时,已经安装了相关的ocr包