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')
poppler包是pdftotext的依赖包,在conda环境下运行下列命令即可:
conda install -c conda-forge poppler
pip install pdfminer.six
DOCX OCR在安装textract时,已经安装了相关的ocr包