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

Google Cloud Document AI中TableBoundHints失效问题咨询

问题分析与解决

首先你的代码里存在明显的语法错误,这才是导致TableBoundHint无法正常工作的主要原因,和Beta阶段的功能稳定性关系不大。

代码中的核心错误

你在构建NormalizedVertex时,每个顶点都重复调用了setX()方法,完全没有设置Y坐标值,这会导致BoundingBox的区域计算完全错误:

// 错误示例:重复设置X,未设置Y
.addNormalizedVertices(NormalizedVertex.newBuilder().setX(0).setX(0).build())

每个NormalizedVertex需要分别设置**X(水平方向)和Y(垂直方向)**坐标,你把Y坐标的设置写成了重复的X调用,这就导致所有顶点的Y值都是默认的0,BoundingBox变成了一条水平线段,自然无法正确定位表格区域。

修正后的代码

下面是修正后的代码,注意每个顶点都正确设置了X和Y坐标:

TableBoundHint tableBoundHints = TableBoundHint.newBuilder() 
    .setBoundingBox(BoundingPoly.newBuilder() 
        // 左上角:X=0, Y=0
        .addNormalizedVertices(NormalizedVertex.newBuilder().setX(0).setY(0).build()) 
        // 右上角:X=1, Y=0
        .addNormalizedVertices(NormalizedVertex.newBuilder().setX(1).setY(0).build()) 
        // 右下角:X=1, Y=0.25f
        .addNormalizedVertices(NormalizedVertex.newBuilder().setX(1).setY(0.25f).build()) 
        // 左下角:X=0, Y=0.25f
        .addNormalizedVertices(NormalizedVertex.newBuilder().setX(0).setY(0.25f).build())
        .build()) 
    .setPageNumber(1) 
    .build();

关于Beta阶段的说明

虽然Google Cloud Document AI的TableBoundHint目前处于Beta阶段,但核心的区域定位功能是可以正常工作的。如果修正代码后仍然有问题,可以检查:

  • 页码是否正确(Document AI的页码从1开始计数)
  • 归一化坐标是否符合要求(X和Y的取值范围是0到1,对应文档的左上角到右下角)
  • 是否在ProcessDocumentRequest中正确将这个TableBoundHint添加到tableBoundHints列表里

内容的提问来源于stack exchange,提问作者Pankaj Srivastava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:22:35