python - 使用 Google Cloud Vision 读取多页 PDF 文件
问题描述
我目前正在尝试使用 google cloud vison API 读取多页 pdf 文件。我目前只能阅读 pdf 的第一页,而且我的代码中也出现错误,导致我的一行代码出现错误。我在下面附上了我的代码片段。我该如何解决这个错误,并且还能够阅读整个 pdf 而不仅仅是一页?
解决方案
假设您的 GCS 中的 Vision API JSON 响应是正确的,您需要获取整个响应,而不是只获取第一个元素response['responses']
并循环通过它来获取每页的注释。请参见下面的代码:
blob_list = list(bucket.list_blobs(prefix=prefix))
print('Output files:')
for obj in blob_list:
print(obj.name)
for blob in blob_list[1:]:
json_string = blob.download_as_string()
response = json.loads(json_string)
pages_response = response['responses'] #get complete response
for page in pages_response: #loop through all pages
annotation = page['fullTextAnnotation']
print('Full text:\n')
print(annotation['text'])
print('END OF PAGE')
print('##########################')
我使用了 Google Vision 示例文件 (gs://cloud-samples-data/vision/document_understanding/custom_0773375000.pdf) 并处理了 3 页。查看示例运行:
推荐阅读
- rust - 柴油文档中的 `tags` 变量来自什么?
- javascript - 错误:无法读取 null 的属性(读取“classList”)
- next.js - 我应该在哪里存储 JSON 文件并在需要时在 Next.JS 中获取数据?
- django - Django Celery,应用程序导入错误仅在生产中
- python - 实现模式匹配——什么时候使用缓存?
- java - 需要帮助或指导来解决问题 快速阅读
- javascript - 我可以在 Angular 中使用护照和会话吗?我可以登录,但 Passport 的“isAuthenticated()”总是返回 false
- django - django-mptt:“where 子句”中的未知列“goods_category.lft”
- c - 在c中制作linux导出函数(不带参数)(在c中排序bash导出输出)
- c# - 在项目中创建 abp 模块化的步骤