Esta página mostra como detetar texto em ficheiros através da API Optical Character Recognition (OCR) no dispositivo isolado do Google Distributed Cloud (GDC).
O serviço de OCR do Vertex AI no dispositivo isolado do GDC deteta texto em ficheiros PDF e TIFF através do método da API BatchAnnotateFiles.
Antes de começar
Antes de poder começar a usar a API OCR, tem de ter um projeto com a API OCR ativada e as credenciais adequadas. Também pode instalar bibliotecas cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte o artigo Configure um projeto de reconhecimento de carateres.
Detete texto com pedidos inline
O método BatchAnnotateFiles deteta texto a partir de um lote de ficheiros PDF ou TIFF.
Envia o ficheiro a partir do qual quer detetar texto diretamente como conteúdo no pedido da API. O sistema devolve o texto detetado resultante no formato JSON na resposta da API.
Tem de especificar valores para os campos no corpo JSON do seu pedido API. A tabela seguinte contém uma descrição dos campos do corpo do pedido que tem de fornecer quando usa o método da API BatchAnnotateFiles para os seus pedidos de deteção de texto:
| Campos do corpo do pedido | Descrição do campo |
|---|---|
content |
Os ficheiros com texto a detetar. Fornece a representação Base64 (string ASCII) do conteúdo do ficheiro binário. |
mime_type |
O tipo de ficheiro de origem. Tem de defini-lo para um dos seguintes valores:
|
type |
O tipo de deteção de texto de que precisa no ficheiro. Especifique uma das duas funcionalidades de anotação:
|
language_hints |
Opcional. Lista de idiomas a usar para a deteção de texto. O sistema interpreta um valor vazio para este campo como deteção automática de idioma. Não tem de definir o campo language_hints para idiomas baseados no alfabeto latino.Se souber o idioma do texto no ficheiro, a definição de uma sugestão melhora os resultados. |
pages |
Opcional. O número de páginas do ficheiro a processar para deteção de texto. O número máximo de páginas que pode especificar é cinco. Se não especificar o número de páginas, o serviço processa as primeiras cinco páginas do ficheiro. |
Faça um pedido de API inline
Faça um pedido à API pré-preparada de OCR através do método da API REST. Em alternativa, interaja com a API pré-preparada de OCR a partir de um script Python para detetar texto em ficheiros PDF ou TIFF.
Os exemplos seguintes mostram como detetar texto num ficheiro através de OCR:
REST
Siga estes passos para detetar texto em ficheiros através do método da API REST:
Guarde o seguinte ficheiro
request.jsonpara o corpo do pedido:cat <<- EOF > request.json { "requests": [ { "input_config": { "content": BASE64_ENCODED_FILE, "mime_type": "application/pdf" }, "features": [ { "type": "FEATURE_TYPE" } ], "image_context": { "language_hints": [ "LANGUAGE_HINT_1", "LANGUAGE_HINT_2", ... ] }, "pages": [] } ] } EOFSubstitua o seguinte:
BASE64_ENCODED_FILE: a representação Base64 (string ASCII) do conteúdo do seu ficheiro binário. Esta string começa com carateres semelhantes a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: o tipo de deteção de texto de que precisa no ficheiro. Os valores permitidos sãoTEXT_DETECTIONouDOCUMENT_TEXT_DETECTION.LANGUAGE_HINT: as etiquetas de idioma BCP 47 a usar como sugestões de idioma para a deteção de texto, comoen-t-i0-handwrit. Este campo é opcional e o sistema interpreta um valor vazio como deteção automática do idioma.
Faça o pedido:
curl
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "x-goog-user-project: projects/PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ https://ENDPOINT/v1/files:annotateSubstitua o seguinte:
TOKEN: o token de autenticação que obteve.PROJECT_ID: o ID do seu projeto.ENDPOINT: o ponto final de OCR que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
PowerShell
$headers = @{ "Authorization" = "Bearer TOKEN" "x-goog-user-project" = "projects/PROJECT_ID" } Invoke-WebRequest -Method POST -Headers $headers -ContentType: "application/json; charset=utf-8" -InFile request.json -Uri "ENDPOINT/v1/files:annotate" | Select-Object -Expand ContentSubstitua o seguinte:
TOKEN: o token de autenticação que obteve.ENDPOINT: o ponto final de OCR que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.
Python
Siga estes passos para usar o serviço de OCR a partir de um script Python para detetar texto num ficheiro:
Defina as variáveis de ambiente necessárias num script Python.
Adicione o seguinte código ao script Python que criou:
from google.cloud import vision import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience = "https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def vision_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return vision.ImageAnnotatorClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def vision_func(creds): vc = vision_client(creds) input_config = {"content": "BASE64_ENCODED_FILE"} features = [{"type_": vision.Feature.Type.FEATURE_TYPE}] # Each requests element corresponds to a single file. To annotate more # files, create a request element for each file and add it to # the array of requests req = {"input_config": input_config, "features": features} metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = vc.annotate_file(req,metadata=metadata) print(resp) if __name__=="__main__": creds = main() vision_func(creds)Substitua o seguinte:
ENDPOINT: o ponto final de OCR que usa para a sua organização. Para mais informações, veja o estado do serviço e os pontos finais.BASE64_ENCODED_FILE: a representação Base64 (string ASCII) do conteúdo do ficheiro. Esta string começa com carateres semelhantes a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: o tipo de deteção de texto de que precisa no ficheiro. Os valores permitidos sãoTEXT_DETECTIONouDOCUMENT_TEXT_DETECTION.PROJECT_ID: o ID do seu projeto.
Guarde o script Python.
Execute o script Python para detetar texto no ficheiro:
python SCRIPT_NAMESubstitua
SCRIPT_NAMEpelo nome que deu ao seu script Python, comovision.py.