Cloud Vision API - PDF OCR

时间:2016-04-19 20:03:30

标签: google-cloud-vision

我刚刚测试了Google Cloud Vision API,以便在图片中读取文本(如果存在)。

到目前为止,我安装了Maven服务器和Redis服务器。我只是按照本页中的说明操作。

https://github.com/GoogleCloudPlatform/cloud-vision/tree/master/java/text

到目前为止,我能够使用.jpg文件进行测试,是否可以使用tiff文件或pdf进行测试?

我使用以下命令:

java -cp target/text-1.0-SNAPSHOT-jar-with-dependencies.jar     com.google.cloud.vision.samples.text.TextApp ../../data/text/

在文本目录中,我有jpg格式的文件。

然后要读取转换后的文件,我不知道该怎么做,只需运行以下命令

java -cp target/text-1.0-SNAPSHOT-jar-with-dependencies.jar com.google.cloud.vision.samples.text.TextApp

我收到要输入单词或短语以在转换后的文件中搜索的消息。有没有办法看到整个文件转变?

谢谢!

4 个答案:

答案 0 :(得分:12)

2018年4月6日,Google Cloud Vision API中添加了对文档文本检测中的 PDF和TIFF文件的支持(请参阅Release Notes)。

根据documentation

  • Vision API可以检测并转录 PDF和TIFF中的文本 存储在Google云端存储中的文件

  • 必须使用以下方法请求PDF和TIFF中的文档文本检测 asyncBatchAnnotate 功能,执行异步请求并使用操作资源提供其状态。

  • 来自PDF / TIFF请求的
  • 输出 将写入在指定的Google云端存储分区中创建的JSON文件

示例:

1)将文件上传到您的Google云端存储

enter image description here

2)发出POST请求以执行PDF / TIFF文档文本检测

请求:

POST https://vision.googleapis.com/v1p2beta1/files:asyncBatchAnnotate
Authorization: Bearer <your access token>

{
  "requests":[
    {
      "inputConfig": {
        "gcsSource": {
          "uri": "gs://<your bucket name>/input.pdf"
        },
        "mimeType": "application/pdf"
      },
      "features": [
        {
          "type": "DOCUMENT_TEXT_DETECTION"
        }
      ],
      "outputConfig": {
        "gcsDestination": {
          "uri": "gs://<your bucket name>/output/"
        },
        "batchSize": 1
      }
    }
  ]
}

响应:

{
  "name": "operations/9b1f9d773d216406"
}

3)发出GET请求以检查文档文本检测是否已完成

请求:

GET https://vision.googleapis.com/v1/operations/9b1f9d773d216406
Authorization: Bearer <your access token>

响应:

{
    "name": "operations/9b1f9d773d216406",
    "metadata": {
        "@type": "type.googleapis.com/google.cloud.vision.v1p2beta1.OperationMetadata",
        "state": "RUNNING",
        "updateTime": "2018-06-17T20:18:09.117787733Z"
    },
    "done": true,
    "response": {
        "@type": "type.googleapis.com/google.cloud.vision.v1p2beta1.AsyncBatchAnnotateFilesResponse",
        "responses": [
            {
                "outputConfig": {
                    "gcsDestination": {
                        "uri": "gs://<your bucket name>/output/"
                    },
                    "batchSize": 1
                }
            }
        ]
    }
}

4)检查指定Google云端存储文件夹中的结果

enter image description here

答案 1 :(得分:8)

不幸的是,Cloud Vision目前不支持PDF和TIFF格式。

接受的格式为:(取自doc

  • JPEG
  • PNG8
  • PNG24
  • GIF
  • 动画GIF(仅限第一帧)
  • BMP
  • WEBP
  • RAW
  • ICO

答案 2 :(得分:8)

https://cloud.google.com/vision/docs/pdf

我知道这个问题已经过时了,但现在Google Vision发布了对PDF的支持!

答案 3 :(得分:1)

现在谷歌云视觉文本检测也可用于pdf文件,它以同步方式立即检测pdf文件中的文本,不需要文件在谷歌存储中,它可以是base 64格式。

HTTP 方法和 URL:

POST https://vision.googleapis.com/v1/files:annotate 请求 JSON 正文:

{
  "requests": [
    {
      "inputConfig": {
        "content": "base64-encoded-file",
        "mimeType": "application/pdf"
      },
      "features": [
        {
          "type": "DOCUMENT_TEXT_DETECTION"
        }
      ],
      "pages": [
        1,2,3,4,5
      ]
    }
  ]
}

有关它的更多信息,请访问 https://cloud.google.com/vision/docs/file-small-batch