使用Google Cloud Vision API读取PDF出现json_format.Parse错误怎么解决
Google Cloud Vision API处理大型PDF时json_format.Parse报错修复方案
报错场景:调用Google Cloud Vision API处理大型PDF文档,读取文档时抛出
json_format.Parse(相关错误
以下是经过验证的可行修复方案:
- 确认异步结果完整性:大型PDF处理默认走Vision API异步流程,结果会写入你预先指定的GCS存储桶,解析前先确保传入
json_format.Parse的内容是完整的处理结果文件,未被截断也不是未处理完成的空对象。 - 匹配API与proto版本:你调用的API版本和导入的OCR响应proto版本必须完全一致,避免结构不匹配导致解析失败,参考正确代码写法:
# 导入与你调用的API版本一致的依赖 from google.cloud import vision_v1 from google.cloud import storage from google.protobuf import json_format # 完整读取GCS桶中存储的OCR结果文件 storage_client = storage.Client() bucket = storage_client.bucket("你的GCS桶名称") blob = bucket.blob("OCR结果存储路径/output-1-to-10.json") result_content = blob.download_as_text(encoding="utf-8") # 用对应版本的响应类做解析 ocr_response = json_format.Parse(result_content, vision_v1.types.AnnotateFileResponse())
- 处理多分片结果:页数大于10的PDF处理完成后会生成多个分片结果文件,你需要遍历读取所有分片的内容,合并后再进行解析,不要仅读取单个分片文件。
- 统一编码格式:如果PDF包含中文、特殊符号等非ASCII字符,读取结果文件时强制指定
utf-8编码,避免内容乱码导致解析逻辑异常。
内容的提问来源于stack exchange,提问作者12345
相关产品推荐
相关产品推荐

