Vision API dapat mendeteksi fitur Vision API apa pun dari file PDF dan TIFF yang disimpan di Cloud Storage.
Deteksi fitur dari PDF dan TIFF harus diminta menggunakan
fungsi files:asyncBatchAnnotate
, yang menjalankan permintaan offline (asinkron)
dan memberikan statusnya menggunakan resource operations
.
Output dari permintaan PDF/TIFF ditulis ke file JSON yang dibuat di dalam bucket Cloud Storage yang ditentukan.
Batasan
Vision API menerima file PDF/TIFF hingga 2000 halaman. File yang lebih besar akan menampilkan error.
Autentikasi
Kunci API tidak didukung untuk permintaan files:asyncBatchAnnotate
. Baca
Menggunakan akun layanan untuk
petunjuk tentang cara mengautentikasi dengan akun layanan.
Akun yang digunakan untuk autentikasi harus memiliki akses ke bucket Cloud
Storage yang Anda tentukan untuk output (roles/editor
atau roles/storage.objectCreator
atau lebih tinggi).
Anda dapat menggunakan kunci API untuk membuat kueri status operasi; lihat bagian Menggunakan kunci API untuk mendapatkan petunjuk.
Permintaan deteksi fitur
Saat ini deteksi dokumen PDF/TIFF hanya tersedia untuk file yang disimpan di bucket Cloud Storage. Respons file JSON juga disimpan ke bucket Cloud Storage.
Command-line
Untuk melakukan deteksi teks dokumen PDF/TIFF, buat permintaan POST dan berikan isi permintaan yang sesuai:
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 } } ] }"
Di mana:
inputConfig
- menggantikan kolomimage
yang digunakan dalam permintaan Vision API lainnya. Permintaan ini berisi dua kolom turunan:gcsSource.uri
- Cloud Storage URI dari file PDF atau TIFF (dapat diakses oleh pengguna atau akun layanan yang membuat permintaan)mimeType
- salah satu jenis file yang diterima:application/pdf
atauimage/tiff
.
outputConfig
- menentukan detail output. Kode ni berisi dua kolom turunan:gcsDestination.uri
- Cloud Storage URI yang valid. Bucket harus dapat ditulis oleh pengguna atau akun layanan yang membuat permintaan. Nama filenya adalahoutput-x-to-y
, denganx
dany
mewakili nomor halaman PDF/TIFF yang disertakan dalam file output tersebut. Jika file tersebut ada, isinya akan ditimpa.batchSize
- menentukan jumlah halaman output yang harus disertakan di setiap output file JSON.
Respons:
Permintaan asyncBatchAnnotate
yang berhasil akan menampilkan respons dengan satu kolom
nama:
{ "name": "projects/usable-auth-library/operations/1efec2285bd442df" }
Nama ini mewakili operasi yang berjalan lama dengan ID terkait
(misalnya, 1efec2285bd442df
), yang dapat ditanyakan menggunakan
API v1.operations
.
Untuk mengambil respons anotasi Vision Anda, kirim permintaan GET ke
endpoint v1.operations
, dengan meneruskan ID operasi di 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
Jika operasi sedang berlangsung:
{ "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" } }
Setelah operasi selesai, state
akan ditampilkan sebagai DONE
dan hasil Anda
ditulis ke file Cloud Storage yang telah Anda tentukan:
{ "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 } } ] } }
JSON dalam file output Anda mirip dengan permintaan deteksi teks dokumen gambar, dengan penambahan
kolom context
yang menunjukkan lokasi PDF atau TIFF yang telah ditentukan dan
jumlah halaman dalam di dalam file:
output-1-to-1.json
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Go API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Java API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Node.js API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vision menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vision Python API.
Untuk melakukan autentikasi ke Vision, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
gcloud
Perintah gcloud
yang Anda gunakan bergantung pada jenis file.
Untuk melakukan deteksi teks PDF, gunakan perintah
gcloud ml vision detect-text-pdf
seperti yang ditunjukkan dalam contoh berikut:gcloud ml vision detect-text-pdf gs://my_bucket/input_file gs://my_bucket/out_put_prefix
Untuk melakukan deteksi teks TIFF, gunakan perintah
gcloud ml vision detect-text-tiff
seperti yang ditunjukkan dalam contoh berikut:gcloud ml vision detect-text-tiff gs://my_bucket/input_file gs://my_bucket/out_put_prefix
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Vision untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Vision untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Vision untuk Ruby.