1. poppler
如果遇到报错pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?,则表明环境中缺少一个名为poppler的依赖库,或者它没有被正确地添加到系统的PATH环境变量中。unstructured库在处理PDF文件时,会依赖pdf2image,而pdf2image则需要poppler来处理 PDF。为了解决安装问题需要执行下面两个步骤:
1.1 安装 poppler
访问此https://github.com/oschwartz10612/poppler-windows/releases/下载最新的压缩包,压缩包的名字大概如Release-24.08.0-0.zip。解压后会得到一个poppler-24.08.0的文件夹,将解压后的文件夹放置到一个本地位置,例如C:\根目录。
1.2 配置环境变量
将刚刚解压后的Poppler文件夹中的bin文件夹的完整路径添加到系统环境变量path中。文件夹路径例如:C:\poppler-24.08.0-0\Library\bin。记得一路点击“确定”保存更改。
重启电脑!!!重启电脑!!!重启电脑!!!
2. Tesseract
https://github.com/UB-Mannheim/tesseract/wiki ,Tesseract 是一个开源的光学字符识别(OCR)引擎。当 unstructured 处理 PDF 文件时(特别是 hi_res 策略),它首先会像人眼一样看PDF 的页面布局(这是由一个叫YOLOX的模型完成的)。然后,对于页面上的图像或者非文本部分,unstructured会使用Tesseract来“读取”这些图像中的文字,将它们转换成可编辑的文本。解决方案与我们处理poppler时如出一辙:我们需要下载、安装 Tesseract,并将其配置到系统路径中。
2.1 安装 Tesseract
访问此链接,下载最新的安装程序。通常文件名会是 tesseract-ocr-w64-setup-vX.X.X…exe (适用于64位系统)。

运行刚刚下载的安装程序。在安装过程中,会有一个选择组件的步骤,为了以防万一,可以选择安装多种语言的识别包:勾选"Additional language data"。
记下安装路径,默认路径通常是C:\Program Files\Tesseract-OCR。

2.2 配置环境变量
在系统环境变量path中添加刚刚记下的安装路径:如C:\Program Files\Tesseract-OCR。
除此之外,推荐再新建一个环境变量来告诉 Tesseract 语言包在哪里。新建如下系统变量:
变量名: TESSDATA_PREFIX
变量值: C:\Program Files\Tesseract-OCR\tessdata
至此,如果在终端中输入tesseract --version能正常输出版本号,则说明安装成功。
3. yolox模型
from unstructured.partition.pdf import partition_pdffname = "C:\\Users\\Lenovo\\Desktop\\2023量化\\附件2 信息学院本科生素质量化考评办法.pdf" elements = partition_pdf(filename=fname,strategy='hi_res',hi_res_model_name="yolox") for el in elements:if el["type"] == "Table":print(el["metadata"]["text_as_html"]) # print(el.type),
错误信息:
SSLError: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /unstructuredio/yolo_x_layout/resolve/main/yolox_l0.05.onnx (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)')))"), '(Request ID: 757ef56e-88d9-4a7a-88ef-ff3fade2139c)')
解决方法:在hanggingface中下载模型,并修改配置
https://改为huggingface中文的.com/unstructuredio/yolo_x_layout/tree/main
1.下载
下载地址:unstructuredio/yolo_x_layout at main (huggingface.co)
2.修改配置
打开python包所在的文件夹:
Lib\site-packages\unstructured_inference\models\yolox.py
修改37行代码:
MODEL_TYPES = {"yolox": LazyDict(model_path='你的模型地址',label_map=YOLOX_LABEL_MAP,),"yolox_tiny": LazyDict(model_path=LazyEvaluateInfo(download_if_needed_and_get_local_path,"unstructuredio/yolo_x_layout","yolox_tiny.onnx",),label_map=YOLOX_LABEL_MAP,),"yolox_quantized": LazyDict(model_path=LazyEvaluateInfo(download_if_needed_and_get_local_path,"unstructuredio/yolo_x_layout","yolox_l0.05_quantized.onnx",),label_map=YOLOX_LABEL_MAP,), }