A resposta a um pedido de processamento contém um Document
objeto que contém tudo o que se sabe sobre o documento processado, incluindo todas as
informações estruturadas que a IA Documental conseguiu extrair.
Esta página explica o esquema do objeto Document através de documentos de exemplo e, em seguida, mapeia os aspetos dos resultados de OCR para os elementos específicos do JSON do objeto Document.
Também fornece bibliotecas cliente, exemplos de código e exemplos de código do SDK Document AI Toolbox.
Estes exemplos de código usam o processamento online, mas a análise de objetos Document funciona da mesma forma para o processamento em lote.

Os retângulos e as setas laranja e azuis representam que, respetivamente, pelo menos um campo dos objetos ligados é .layout ou detectedLanguage. O diagrama usa a notação de pé de galinha.
Use um visualizador JSON ou um utilitário de edição especificamente concebido para expandir ou reduzir elementos. A revisão de JSON não processado numa utilidade de texto simples é ineficiente.
Texto, esquema e índices de qualidade
Segue-se um exemplo de um documento de texto:

Segue-se o objeto de documento completo devolvido pelo processador Enterprise Document OCR:
Este resultado do OCR também está sempre incluído no resultado do processador do Document AI, uma vez que o OCR é executado pelos processadores. Usa os dados de OCR existentes, pelo que pode introduzir esses dados JSON através da opção de documento inline nos processadores do Document AI.
image=None, # all our samples pass this var
mime_type="application/json",
inline_document=document_response # pass OCR output to CDE input - undocumented
Seguem-se alguns dos campos importantes:
Texto não processado
O campo text contém o texto reconhecido pela IA Documental.
Este texto não contém nenhuma estrutura de esquema além de espaços, tabulações e
mudanças de linha. Este é o único campo que armazena informações textuais de um documento e serve como fonte de informações fidedignas do texto do documento. Outros campos podem referir-se a partes do campo de texto por posição (startIndex e endIndex).
{
text: "Sample Document\nHeading 1\nLorem ipsum dolor sit amet, ..."
}
Tamanho de página e idiomas
Cada page no objeto document corresponde a uma página física do documento de exemplo. O resultado JSON de exemplo contém uma página porque é uma única imagem PNG.
{
"pages:" [
{
"pageNumber": 1,
"dimension": {
"width": 679.0,
"height": 460.0,
"unit": "pixels"
},
}
]
}
- O campo
pages[].detectedLanguages[]contém os idiomas encontrados numa determinada página, juntamente com a pontuação de confiança.
{
"pages": [
{
"detectedLanguages": [
{
"confidence": 0.98009938,
"languageCode": "en"
},
{
"confidence": 0.01990064,
"languageCode": "und"
}
]
}
]
}
Dados de OCR
O OCR da Document AI deteta texto com vários níveis de detalhe ou organização na página, como blocos de texto, parágrafos, tokens e símbolos (o nível de símbolo é opcional, se estiver configurado para gerar dados ao nível do símbolo). Estes são todos os membros do objeto de página.
Cada elemento tem um layout correspondente que descreve a respetiva posição e texto. Os elementos visuais que não são texto (como caixas de verificação) também estão ao nível da página.
{
"pages": [
{
"paragraphs": [
{
"layout": {
"textAnchor": {
"textSegments": [
{
"endIndex": "16"
}
]
},
"confidence": 0.9939527,
"boundingPoly": {
"vertices": [ ... ],
"normalizedVertices": [ ... ]
},
"orientation": "PAGE_UP"
}
}
]
}
]
}
O texto não processado é referido no objeto textAnchor
que é indexado na string de texto principal com startIndex e endIndex.
Para
boundingPoly, o canto superior esquerdo da página é a origem(0,0). Os valores X positivos estão à direita e os valores Y positivos estão para baixo.O objeto
verticesusa as mesmas coordenadas que a imagem original, enquanto quenormalizedVerticesestão no intervalo[0,1]. Existe uma matriz de transformação que indica as medidas de correção da distorção e outros atributos da normalização da imagem.
- Para desenhar o
boundingPoly, desenhe segmentos de linha de um vértice para o seguinte. Em seguida, feche o polígono desenhando um segmento de linha do último vértice de volta ao primeiro. O elemento orientation do esquema indica se o texto foi rodado relativamente à página.
Para ajudar a visualizar a estrutura do documento, as seguintes imagens desenham polígonos delimitadores para page.paragraphs, page.lines e page.tokens.