Partilhar via


Compreender o formato de saída de Markdown da Document Intelligence Layout API

A API de Layout do Azure AI Document Intelligence pode transformar seus documentos em Markdown avançado, preservando sua estrutura e formatação originais. Basta especificar outputContentFormat=markdown em sua solicitação para receber conteúdo semanticamente estruturado que mantenha parágrafos, títulos, tabelas e outros elementos do documento em sua hierarquia adequada.

Essa saída de Markdown captura elegantemente a organização original do documento enquanto fornece conteúdo padronizado e facilmente consumível para aplicativos downstream. A estrutura semântica preservada permite fluxos de trabalho de processamento de documentos mais sofisticados sem perder o contexto e as relações entre os elementos do documento.

Elementos de Markdown suportados na Análise de Layout

Os seguintes elementos Markdown estão incluídos nas respostas da API de layout:

  • Parágrafo
  • Título
  • Tabela
  • Gráfico
  • Marca de seleção
  • Fórmula
  • Código de barras
  • Número de Página/Cabeçalho de Página/Rodapé de Página
  • Quebra de página
  • ParesDeChaveValor/Idioma/Estilo
  • Extensões e Conteúdo

Parágrafo

Os parágrafos representam blocos coesos de texto que pertencem juntos semanticamente. A API de layout mantém a integridade do parágrafo ao:

  • Preservando limites de parágrafo com linhas vazias entre parágrafos separados
  • Usando quebras de linha em parágrafos para manter a estrutura visual do documento original
  • Manter um fluxo de texto adequado que respeite a ordem de leitura do documento original

Aqui está um exemplo:

This is paragraph 1.
This is still paragraph 1, even if in another Markdown line.

This is paragraph 2. There is a blank line between paragraph 1 and paragraph 2.

Título

Os cabeçalhos organizam o conteúdo do documento numa estrutura hierárquica para facilitar a navegação e a compreensão. A API de layout tem os seguintes recursos:

  • Usa a sintaxe de cabeçalhos do Markdown padrão com 1-6 símbolos de cerquilha (#) correspondentes aos níveis de cabeçalho.
  • Mantém o espaçamento adequado com duas linhas em branco antes de cada cabeçalho para melhorar a legibilidade.

Aqui está um exemplo:

# This is a title

## This is heading 1

### This is heading 2

#### This is heading 3

Tabela

As tabelas preservam dados estruturados complexos em um formato visualmente organizado. A API de layout usa sintaxe de tabela HTML para máxima fidelidade e compatibilidade:

  • Implementa a marcação de tabela HTML completa (<table>, <tr>, <th><td>, ) em vez de tabelas de Markdown padrão
  • Preserva a célula mesclada utilizando os atributos HTML rowspan e colspan.
  • Preserva os títulos da tabela com a tag <caption> para manter o contexto do documento.
  • Lida com estruturas de tabela complexas, incluindo cabeçalhos, células e rodapés
  • Mantém o espaçamento adequado com duas linhas em branco antes de cada tabela para melhorar a legibilidade
  • Preserva as notas de rodapé da tabela como parágrafo separado após a tabela

Aqui está um exemplo:

<table>
<caption>Table 1. This is a demo table</caption>
<tr><th>Header</th><th>Header</th></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Cell</td><td>Cell</td></tr>
<tr><td>Footer</td><td>Footer</td></tr>
</table>
This is the footnote of the table.

Gráfico

A API de layout preserva elementos de figura:

  • Encapsula o conteúdo da figura em <figure> tags para manter a distinção semântica do texto ao redor
  • Preserva legendas de figuras com a <figcaption> tag para fornecer contexto importante
  • Preserva notas de rodapé das figuras como parágrafos separados após a caixa de figuras

Importante

Nos casos em que detetamos certos componentes do documento, como títulos de seções que são parte das figuras, a saída de markdown não apresentará figuras na saída e usará as informações para análise da estrutura do documento. Para esses casos, enumere o campo de figuras em JSON para recuperar todas as figuras.

Aqui está um exemplo:

<figure>
<figcaption>Figure 2 This is a figure</figcaption>

Values
300
200
100
0

Jan Feb Mar Apr May Jun Months

</figure>

This is footnote if the figure have.

Marca de seleção

As marcas de seleção representam elementos semelhantes a caixas de seleção em formulários e documentos. A API de layout:

  • Usa caracteres Unicode para clareza visual: ☒ (marcado) e ☐ (desmarcado)
  • Filtra deteções de caixas de seleção de baixa confiança (confiança abaixo de 0,1) para melhorar a confiabilidade
  • Mantém a relação semântica entre as marcas de seleção e o texto associado

Fórmula

As fórmulas matemáticas são preservadas com sintaxe compatível com LaTeX que permite a renderização de expressões matemáticas complexas:

  • As fórmulas em linha são incluídas entre sinais de dólar únicos ($...$) para manter o fluxo de texto
  • As fórmulas de bloco usam cifrões duplos ($$...$$) para exibição autônoma
  • As fórmulas de várias linhas são representadas como fórmulas de blocos consecutivos, preservando relações matemáticas
  • O espaçamento e a formatação originais são mantidos para garantir uma representação precisa

Eis um exemplo de fórmula embutida, bloco de fórmula de linha única e bloco de fórmula de várias linhas:

The mass-energy equivalence formula $E = m c ^ { 2 }$ is an example of an inline formula

$$\frac { n ! } { k ! \left( n - k \right) ! } = \binom { n } { k }$$

$$\frac { p _ { j } } { p _ { 1 } } = \prod _ { k = 1 } ^ { j - 1 } e ^ { - \beta _ { k , k + 1 } \Delta E _ { k , k + 1 } }$$
$$= \exp \left[ - \sum _ { k = 1 } ^ { j - 1 } \beta _ { k , k + 1 } \Delta E _ { k , k + 1 } \right] .$$

Código de barras

Códigos de barras e códigos QR são representados usando sintaxe de imagem Markdown com informações semânticas adicionadas:

  • Usa sintaxe de Markdown de imagem padrão com atributos descritivos
  • Captura o tipo de código de barras (código QR, código de barras, etc.) e seu valor codificado
  • Preserva a relação semântica entre códigos de barras e conteúdo circundante

Aqui está um exemplo:

![QRCode](barcodes/1.1 "https://www.microsoft.com")

![UPCA](barcodes/1.2 "012345678905")
 
![barcode type](barcodes/pagenumber.barcodenumber "barcode value/content")

Número de Página/Cabeçalho de Página/Rodapé de Página

Os elementos de metadados da página fornecem contexto sobre a paginação do documento, mas não devem ser exibidos em linha com o conteúdo principal:

  • Incluído em comentários HTML para preservar as informações, mantendo-as ocultas da renderização padrão de Markdown
  • Mantém informações de estrutura de página original que podem ser valiosas para a reconstrução de documentos
  • Permite que os aplicativos entendam a paginação de documentos sem interromper o fluxo de conteúdo

Aqui está um exemplo:

<!-- PageHeader="This is page header" -->

<!-- PageFooter="This is page footer" -->
<!-- PageNumber="1" -->


Quebra de página

Para identificar facilmente quais partes pertencem a que página com base no conteúdo puro de Markdown, introduzimos o PageBreak como delimitador das páginas.

Aqui está um exemplo:

<!-- PageBreak -->

ParesDeChaveValor/Idioma/Estilo

Para KeyValuePairs/Language/Style, nós os mapeamos para o corpo JSON do Analytics e não no conteúdo do Markdown.

Observação

Para obter mais informações sobre Markdown que atualmente é suportado para conteúdo de usuário no GitHub.com, consulteGitHub Flavored Markdown Spec.

Conclusão

Os elementos Markdown do Document Intelligence fornecem uma maneira poderosa de representar a estrutura e o conteúdo dos documentos analisados. Ao entender e utilizar adequadamente esses elementos Markdown, você pode aprimorar seus fluxos de trabalho de processamento de documentos e criar aplicativos de extração de conteúdo mais sofisticados.

Próximos passos