使用PHP调用Google Cloud Document AI无法获取自定义处理器表单字段值
解决PHP获取Google Cloud Document AI自定义处理器表单字段值的问题
核心排查与解决步骤
- 先确认响应结构:不要直接照搬其他语言的逻辑遍历,先打印整个响应对象的结构,明确表单字段的实际嵌套位置:
$response = $documentAiClient->processDocument($request); $document = $response->getDocument(); // 打印单页表单字段结构,排查实际层级 print_r($document->getPages()[0]->getFormFields()); - 正确遍历表单字段:PHP SDK中,Document AI的表单字段通过
getFormFields()方法获取,每个字段的名称和值需要通过对应的Getter方法提取,示例代码:foreach ($document->getPages() as $page) { foreach ($page->getFormFields() as $formField) { // 提取字段名称文本 $fieldName = $formField->getFieldName()->getText(); // 提取字段值文本 $fieldValue = $formField->getFieldValue()->getText(); // 按需处理字段 echo "字段名:{$fieldName},值:{$fieldValue}\n"; } } - 排查自定义字段特殊情况:如果是自定义训练的专属字段,可能需要检查字段名称是否包含在额外属性中,可通过
var_dump($formField)查看完整字段对象的所有属性与方法。 - 验证SDK版本:确保使用的
google-cloud-document-aiPHP SDK为最新版本,旧版本可能存在响应结构兼容问题,更新命令:composer update google/cloud-document-ai
内容的提问来源于stack exchange,提问作者Filipp30
相关产品推荐
相关产品推荐

