我想使用Cloud Vision API检测PDF文本并从Google Cloud Storage获取结果

问题描述

我想要视觉API结果的文件名,但我不知道如何获取

// Imports the Google Cloud client libraries
const vision = require('@google-cloud/vision').v1;

// Creates a client
const client = new vision.ImageAnnotatorClient();

const gcsSourceUri = `gs://${bucketName}/${fileName}`;
const gcsDestinationUri = `gs://${bucketName}/${outputPrefix}/`;

const inputConfig = {
  // Supported mime_types are: 'application/pdf' and 'image/tiff'
  mimeType: 'application/pdf',gcsSource: {
    uri: gcsSourceUri,},};
const outputConfig = {
  gcsDestination: {
    uri: gcsDestinationUri,};
const features = [{type: 'DOCUMENT_TEXT_DETECTION'}];
const request = {
  requests: [
    {
      inputConfig: inputConfig,features: features,outputConfig: outputConfig,],};

const [operation] = await client.asyncBatchAnnotateFiles(request);
const [filesResponse] = await operation.promise();
const destinationUri =
  filesResponse.responses[0].outputConfig.gcsDestination.uri;
console.log('Json saved to: ' + destinationUri);

“ destinationUri”不包含文件名。 例如,当gcsDestinationUri为gs:/*****/index/时,destinationUri为gs:/*****/index。 但是,作为结果保存在GCS中的文件output-1-to-1.json

搜索了操作Obj和filesResponse Obj,我找不到它。

谁知道我的问题?

解决方法

根据官方文档,文件名的格式为output-x-to-y

gcsDestination.uri-有效的Google Cloud Storage URI。铲斗必须 可由发出请求的用户或服务帐户写入。的 文件名将输出x-to-y,其中x和y代表PDF / TIFF 该输出文件中包含的页码。如果文件存在,则其 内容将被覆盖。

But,the file saved as result in GCS is output-1-to-1.json.

因此,我认为一切正常,并且您无法更改文件名。