You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Document.AI Python客户端无法返回表格数据,求解决技巧

Document AI提取PDF表格数据的Python客户端实用技巧
  • 使用专用表格处理器
    不要用通用文档处理器,必须指定表格专用的处理器(如表单解析处理器)。拖拽示例会自动匹配合适的处理器,但Python代码里如果选错处理器,会导致表格提取逻辑不触发。

  • 显式开启表格提取配置
    调用process_document时,必须在请求中添加table_extraction_params并设置enabled=True,官方基础示例可能默认未开启该配置。示例代码如下:

    from google.cloud import documentai_v1 as documentai
    
    def extract_pdf_tables():
        client = documentai.DocumentProcessorServiceClient()
        # 替换为你的项目、区域、处理器ID
        processor_name = client.processor_path("你的项目ID", "区域ID", "表格处理器ID")
        
        with open("目标PDF文件路径", "rb") as f:
            pdf_content = f.read()
        
        raw_doc = documentai.RawDocument(content=pdf_content, mime_type="application/pdf")
        # 关键配置:开启表格提取
        table_params = documentai.TableExtractionParams(enabled=True)
        
        request = documentai.ProcessRequest(
            name=processor_name,
            raw_document=raw_doc,
            table_extraction_params=table_params
        )
        
        response = client.process_document(request=request)
        document = response.document
        print(f"成功提取到{len(document.tables)}个表格")
    
  • 升级客户端到最新版本
    旧版Python客户端可能存在表格提取的兼容性问题,执行命令升级:

    pip install --upgrade google-cloud-documentai
    
  • 适配扫描型PDF的OCR配置
    如果是图像扫描生成的PDF,需要在请求中开启OCR相关参数,确保处理器能识别图像中的表格:

    ocr_params = documentai.OcrParams(enable_native_pdf_parsing=True)
    request = documentai.ProcessRequest(
        name=processor_name,
        raw_document=raw_doc,
        table_extraction_params=table_params,
        ocr_params=ocr_params
    )
    
  • 核对响应解析逻辑
    确保直接读取document.tables全局数组,不要误读页面层级的document.pages[x].tables——部分场景下表格会同时挂载在页面和全局,但全局数组才是完整的提取结果集合。

内容的提问来源于stack exchange,提问作者Michał Bogusz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:27:35