如何解决AWS Glue中使用Amazon-Textract-Textractor的Poppler缺失问题
解决AWS Glue环境中Poppler缺失导致的Textract报错问题
方案一:直接让Textract处理PDF(推荐,无需额外安装依赖)
AWS Textract原生支持直接分析PDF文档,无需先将PDF转为图片,修改代码跳过图片转换步骤即可绕开Poppler依赖:
from textractor import Textractor from textractor.data.constants import TextractFeatures # 直接传入PDF文件路径,无需转成Image对象 extractor = Textractor(region_name="us-east-1") document = extractor.analyze_document( file_source="your_document.pdf", # 替换为目标PDF文件路径 features=[TextractFeatures.TABLES], save_image=False # 无需保存图片,直接处理PDF )
该方式直接调用Textract的PDF分析接口,完全避免对pdf2image和Poppler的依赖。
方案二:在AWS Glue环境中安装Poppler
若必须保留图片转换逻辑,可通过以下两种方式在Glue环境中安装Poppler:
- 使用自定义Glue层:
- 在Amazon Linux 2环境下下载编译好的Poppler二进制文件,整理好bin、lib等目录结构
- 将目录打包为zip文件,在AWS控制台创建Glue自定义层并上传该zip包
- 在目标Glue作业中关联此层,确保Poppler的bin目录被加入系统PATH
- 在作业脚本开头执行安装命令:
针对Glue 2.0及以上版本,可在脚本开头添加以下代码,通过apt-get安装Poppler(注意:每次作业启动都会执行安装,会增加启动耗时):
import subprocess subprocess.run(["apt-get", "update"], check=True) subprocess.run(["apt-get", "install", "-y", "poppler-utils"], check=True)
内容的提问来源于stack exchange,提问作者greenking
相关产品推荐
相关产品推荐

