Nesta página, mostramos como detectar texto em arquivos usando a API OCR (reconhecimento óptico de caracteres) no appliance isolado do Google Distributed Cloud (GDC).
O serviço OCR da Vertex AI no appliance isolado do GDC detecta texto em arquivos PDF e TIFF usando o método de API BatchAnnotateFiles.
Antes de começar
Antes de começar a usar a API OCR, você precisa ter um projeto com a API OCR ativada e as credenciais adequadas. Também é possível instalar bibliotecas de cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte Configurar um projeto de reconhecimento de caracteres.
Detectar texto com solicitações inline
O método BatchAnnotateFiles detecta texto de um lote de arquivos PDF ou TIFF.
Você envia o arquivo do qual quer detectar texto diretamente como conteúdo na solicitação de API. O sistema retorna o texto detectado resultante no formato JSON na resposta da API.
É necessário especificar valores para os campos no corpo JSON da solicitação de API. A tabela a seguir contém uma descrição dos campos do corpo da solicitação que você precisa fornecer ao usar o método de API BatchAnnotateFiles para suas solicitações de detecção de texto:
| Campos do corpo da solicitação | Descrição do campo |
|---|---|
content |
Os arquivos com texto a ser detectado. Você fornece a representação Base64 (string ASCII) do conteúdo do arquivo binário. |
mime_type |
O tipo de arquivo de origem. É necessário definir um dos seguintes valores:
|
type |
O tipo de detecção de texto necessário do arquivo. Especifique um dos dois recursos de anotação:
|
language_hints |
Opcional. Lista de idiomas a serem usados para a detecção de texto. O sistema interpreta um valor vazio para esse campo como detecção automática de idioma. Não é necessário definir o campo language_hints para idiomas baseados no alfabeto latino.Se você souber o idioma do texto no arquivo, definir uma dica vai melhorar os resultados. |
pages |
Opcional. O número de páginas do arquivo a serem processadas para detecção de texto. O número máximo de páginas que podem ser especificadas é cinco. Se você não especificar o número de páginas, o serviço vai processar as cinco primeiras páginas do arquivo. |
Fazer uma solicitação de API inline
Faça uma solicitação para a API pré-treinada de OCR usando o método da API REST. Caso contrário, interaja com a API pré-treinada de OCR de um script Python para detectar texto de arquivos PDF ou TIFF.
Os exemplos a seguir mostram como detectar texto em um arquivo usando OCR:
REST
Siga estas etapas para detectar texto em arquivos usando o método da API REST:
Salve o arquivo
request.jsona seguir para o corpo da solicitação: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:
BASE64_ENCODED_FILE: a representação Base64 (string ASCII) do conteúdo do arquivo binário. Essa string começa com caracteres semelhantes a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: o tipo de detecção de texto necessário do arquivo. Os valores permitidos sãoTEXT_DETECTIONouDOCUMENT_TEXT_DETECTION.LANGUAGE_HINT: as tags de idioma BCP 47 a serem usadas como dicas de idioma para detecção de texto, comoen-t-i0-handwrit. Esse campo é opcional, e o sistema interpreta um valor vazio como detecção automática de idioma.
Faça a solicitação:
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:
TOKEN: o token de autenticação que você recebeu.PROJECT_ID: o ID do projeto.ENDPOINT: o endpoint de OCR que você usa para sua organização. Para mais informações, consulte Status e endpoints do serviço.
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:
TOKEN: o token de autenticação que você recebeu.ENDPOINT: o endpoint de OCR que você usa para sua organização. Para mais informações, consulte Status e endpoints do serviço.
Python
Siga estas etapas para usar o serviço OCR de um script Python para detectar texto em um arquivo:
Defina as variáveis de ambiente necessárias em um script Python.
Adicione o código a seguir ao script Python criado:
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:
ENDPOINT: o endpoint de OCR que você usa para sua organização. Para mais informações, consulte Status e endpoints do serviço.BASE64_ENCODED_FILE: a representação Base64 (string ASCII) do conteúdo do arquivo. Essa string começa com caracteres semelhantes a/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==.FEATURE_TYPE: o tipo de detecção de texto necessário do arquivo. Os valores permitidos sãoTEXT_DETECTIONouDOCUMENT_TEXT_DETECTION.PROJECT_ID: o ID do projeto.
Salve o script Python.
Execute o script Python para detectar texto no arquivo:
python SCRIPT_NAMESubstitua
SCRIPT_NAMEpelo nome que você deu ao script Python, comovision.py.