Vision API יכול לזהות כל תכונה של Vision API מקובצי PDF ו-TIFF שמאוחסנים ב-Cloud Storage.
כדי לבקש זיהוי תכונות מקובצי PDF ו-TIFF, צריך להשתמש בפונקציה files:asyncBatchAnnotate, שמבצעת בקשה אופליין (אסינכרונית) ומספקת את הסטטוס שלה באמצעות משאבי operations.
הפלט מבקשת PDF/TIFF נכתב לקובץ JSON שנוצר בקטגוריה של Cloud Storage שצוינה.
מגבלות
Vision API מקבל קובצי PDF או TIFF של עד 2,000 דפים. קבצים גדולים יותר יחזירו שגיאה.
אימות
אין תמיכה במפתחות API לבקשות files:asyncBatchAnnotate. הוראות לאימות באמצעות חשבון שירות מופיעות במאמר שימוש בחשבון שירות.
לחשבון שמשמש לאימות צריכה להיות גישה לקטגוריית Cloud Storage שציינתם לפלט (roles/editor או roles/storage.objectCreator ומעלה).
אפשר להשתמש במפתח API כדי לשלוח שאילתה לגבי סטטוס הפעולה. הוראות מפורטות זמינות במאמר שימוש במפתח API.
בקשות לזיהוי תכונות
כרגע, זיהוי מסמכי PDF/TIFF זמין רק לקבצים שמאוחסנים בקטגוריות של Cloud Storage. קובצי JSON של תגובות נשמרים באופן דומה בקטגוריה של Cloud Storage.
שורת פקודה
כדי לבצע זיהוי טקסט במסמך PDF או TIFF, שולחים בקשת POST ומספקים את גוף הבקשה המתאים:
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 } } ] }"
כאשר:
inputConfig– מחליף את השדהimageשמשמש בבקשות אחרות של Vision API. הוא מכיל שני שדות צאצא:gcsSource.uri– ה-URI של Cloud Storage של קובץ ה-PDF או ה-TIFF (שהמשתמש או חשבון השירות ששולחים את הבקשה יכולים לגשת אליו)-
mimeType– אחד מסוגי הקבצים המקובלים:application/pdfאוimage/tiff.
outputConfig– מציין את פרטי הפלט. הוא מכיל שני שדות צאצא:-
gcsDestination.uri– URI תקין של Cloud Storage. למשתמש או לחשבון השירות שמבצעים את הבקשה צריכה להיות הרשאת כתיבה בקטגוריה. שם הקובץ יהיהoutput-x-to-y, כאשרxו-yמייצגים את מספרי הדפים ב-PDF או ב-TIFF שכלולים בקובץ הפלט הזה. אם הקובץ קיים, התוכן שלו יוחלף. -
batchSize– מציין כמה דפים של פלט צריך לכלול בכל קובץ JSON של פלט.
-
תשובה:
בקשת asyncBatchAnnotate מוצלחת מחזירה תגובה עם שדה שם יחיד:
{ "name": "projects/usable-auth-library/operations/1efec2285bd442df" }
השם הזה מייצג פעולה ממושכת עם מזהה משויך (לדוגמה, 1efec2285bd442df), שאפשר לשלוח לגביו שאילתה באמצעות v1.operations API.
כדי לאחזר את תגובת ההערה של Vision, שולחים בקשת GET לנקודת הקצה (endpoint) v1.operations ומעבירים את מזהה הפעולה בכתובת ה-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
אם הפעולה מתבצעת:
{ "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" } }
בסיום הפעולה, הסמל state משתנה ל-DONE והתוצאות נכתבות לקובץ Cloud Storage שציינתם:
{ "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 בקובץ הפלט דומה ל-JSON של בקשה לזיהוי טקסט במסמך של תמונה, עם התוספת של השדה context שמציג את המיקום של קובץ ה-PDF או ה-TIFF שצוין ואת מספר הדפים בקובץ:
output-1-to-1.json
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך לתחילת העבודה עם Vision באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Vision Go API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך לתחילת העבודה עם Vision באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Vision Java API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך לתחילת העבודה עם Vision באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Vision Node.js API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך לתחילת העבודה עם Vision באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Vision Python API.
כדי לבצע אימות ב-Vision, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
gcloud
הפקודה gcloud שבה משתמשים תלויה בסוג הקובץ.
כדי לבצע זיהוי טקסט ב-PDF, משתמשים בפקודה
gcloud ml vision detect-text-pdfכמו בדוגמה הבאה:gcloud ml vision detect-text-pdf gs://my_bucket/input_file gs://my_bucket/out_put_prefix
כדי לבצע זיהוי טקסט בפורמט TIFF, משתמשים בפקודה
gcloud ml vision detect-text-tiffכמו בדוגמה הבאה:gcloud ml vision detect-text-tiff gs://my_bucket/input_file gs://my_bucket/out_put_prefix
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Vision בנושא .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Vision מאמרי עזרה for PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעיין במאמרי העזרה של Vision בנושא Ruby.