首页 > 解决方案 > 使用 Google Cloud Vision 读取多页 PDF 文件

问题描述

我目前正在尝试使用 google cloud vison API 读取多页 pdf 文件。我目前只能阅读 pdf 的第一页,而且我的代码中也出现错误,导致我的一行代码出现错误。我在下面附上了我的代码片段。我该如何解决这个错误,并且还能够阅读整个 pdf 而不仅仅是一页? 一段代码

我收到的错误

标签: pythongoogle-cloud-vision

解决方案


假设您的 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 页。查看示例运行:

在此处输入图像描述


推荐阅读