L'API Vision può rilevare qualsiasi funzionalità dell'API Vision dai file PDF e TIFF archiviati in Cloud Storage.
Il rilevamento di elementi da PDF e TIFF deve essere richiesto utilizzando la funzione files:asyncBatchAnnotate
, che esegue una richiesta offline (asincrona) e fornisce il relativo stato utilizzando le risorse operations
.
L'output di una richiesta PDF/TIFF viene scritto in un file JSON creato nel specificato per il bucket Cloud Storage specificato.
Limitazioni
L'API Vision accetta file PDF/TIFF con un massimo di 2000 pagine. I file di dimensioni maggiori restituiranno un errore.
Autenticazione
Le chiavi API non sono supportate per le richieste files:asyncBatchAnnotate
. Consulta:
Utilizzo di un account di servizio per
istruzioni sull'autenticazione con un account di servizio.
L'account utilizzato per l'autenticazione deve avere accesso a Cloud
il bucket di archiviazione specificato per l'output (roles/editor
o
roles/storage.objectCreator
o superiore).
Puoi utilizzare una chiave API per eseguire query sullo stato dell'operazione. vedi Utilizzo di una chiave API per le istruzioni.
Richieste di rilevamento delle funzionalità
Al momento il rilevamento di documenti PDF/TIFF è disponibile solo per i file archiviati in di archiviazione dei bucket Cloud Storage. I file JSON di risposta vengono salvati in modo simile nel bucket Cloud Storage.
Riga di comando
Per eseguire il rilevamento del testo di documenti PDF/TIFF, effettua una richiesta POST e fornisci il corpo della richiesta appropriato:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ https://vision.googleapis.com/v1/files:asyncBatchAnnotate -d "{ 'requests':[ { 'inputConfig': { 'gcsSource': { 'uri': 'gs://your-source-bucket-name/folder/multi-page-file.pdf' }, 'mimeType': 'application/pdf' }, 'features': [ { 'type': 'DOCUMENT_TEXT_DETECTION' } ], 'outputConfig': { 'gcsDestination': { 'uri': 'gs://your-bucket-name/folder/' }, 'batchSize': 1 } } ] }"
Dove:
inputConfig
: sostituisce il campoimage
utilizzato in altre richieste dell'API Vision. it contiene due campi secondari:gcsSource.uri
: l'URI Cloud Storage di il file PDF o TIFF (accessibile all'account utente o di servizio che effettua richiesta)mimeType
: uno dei tipi di file accettati:application/pdf
oimage/tiff
.
outputConfig
: specifica i dettagli dell'output. Contiene due campi secondari:gcsDestination.uri
: un URI Cloud Storage valido. Il bucket deve essere scrivibile dall'account utente o di servizio che effettua la richiesta. Il nome del file saràoutput-x-to-y
, dovex
ey
rappresentano i Numeri di pagina PDF/TIFF inclusi nel file di output. Se il file esiste, i suoi contenuti verranno sovrascritti.batchSize
: specifica il numero di pagine di output dovrebbe essere incluso in ogni file JSON di output.
Risposta:
Una richiesta asyncBatchAnnotate
andata a buon fine restituisce una risposta con un solo nome.
campo:
{ "name": "projects/usable-auth-library/operations/1efec2285bd442df" }
Questo nome rappresenta un'operazione a lunga esecuzione con un ID associato (ad es. 1efec2285bd442df
), su cui è possibile eseguire query utilizzando l'API v1.operations
.
Per recuperare la risposta dell'annotazione di Vision, invia una richiesta GET all'endpoint v1.operations
, passando l'ID operazione nell'URL.
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://vision.googleapis.com/v1/operations/1efec2285bd442df
Se l'operazione è in corso:
{ "name": "operations/1efec2285bd442df", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.OperationMetadata", "state": "RUNNING", "createTime": "2019-05-15T21:10:08.401917049Z", "updateTime": "2019-05-15T21:10:33.700763554Z" } }
Una volta completata l'operazione, state
viene visualizzato come DONE
e
i risultati vengono scritti nel file Cloud Storage specificato:
{ "name": "operations/1efec2285bd442df", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.OperationMetadata", "state": "DONE", "createTime": "2019-05-15T20:56:30.622473785Z", "updateTime": "2019-05-15T20:56:41.666379749Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse", "responses": [ { "outputConfig": { "gcsDestination": { "uri": "gs://your-bucket-name/folder/" }, "batchSize": 1 } } ] } }
Il JSON nel file di output è simile a quello di una
richiesta di rilevamento del testo del documento di un'immagine, con l'aggiunta di un
campo context
che mostra la posizione del PDF o del TIFF specificato e
il numero di pagine del file:
output-1-to-1.json
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Per autenticarti a Vision, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Java documentazione di riferimento.
Per autenticarti a Vision, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
gcloud
Il comando gcloud
che utilizzi dipende dal tipo di file.
Per eseguire il rilevamento del testo PDF, utilizza il comando
gcloud ml vision detect-text-pdf
come mostrato nell'esempio seguente:gcloud ml vision detect-text-pdf gs://my_bucket/input_file gs://my_bucket/out_put_prefix
Per eseguire il rilevamento del testo TIFF, utilizza il metodo
gcloud ml vision detect-text-tiff
come mostrato nell'esempio seguente:gcloud ml vision detect-text-tiff gs://my_bucket/input_file gs://my_bucket/out_put_prefix
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per Ruby.