Guia de ferramentas JSON: converta documentos e dados para JSON e de volta
Este guia explica como as ferramentas de JSON leem e gravam arquivos, o formato de documento de PDF para JSON e Word para JSON, e qual ferramenta usar em cada tarefa.
Por que JSON
JSON é o formato de dados que programas, serviços web e modelos de inteligência artificial leem com mais facilidade: objetos com campos nomeados, listas, números, texto, true, false e null, nada mais. Documentos e planilhas não são armazenados dessa forma. As ferramentas desta família fazem a ponte nas duas direções: transformam PDFs, arquivos Word, planilhas, CSV, YAML e XML em JSON, e transformam JSON de volta em arquivos que as pessoas leem, como PDF, Word, Excel, CSV e HTML.
Cada ferramenta é executada em nossos servidores por uma conexão segura e exclui o arquivo enviado dentro de 60 minutos. O texto de entrada pode ser colado diretamente em vez de enviado como arquivo.
Qual ferramenta usar em cada tarefa
| Você tem | Você quer | Use |
|---|---|---|
| Um PDF | Texto, tabelas e metadados como dados | PDF para JSON |
| Um documento Word | Títulos, parágrafos, listas e tabelas como dados | Word para JSON |
| Uma pasta de trabalho do Excel | Registros, linhas ou colunas | Excel para JSON |
| Um arquivo CSV ou TSV | Um array JSON com valores tipados | CSV para JSON |
| Um arquivo YAML | Os mesmos dados como JSON | YAML para JSON |
| Um arquivo XML | Objetos, atributos e arrays | XML para JSON |
| JSON | Um PDF para ler ou imprimir | JSON para PDF |
| JSON | Uma pasta de trabalho do Excel | JSON para Excel |
| JSON | Um arquivo CSV | JSON para CSV |
| JSON | Um documento Word editável | JSON para Word |
| JSON | Uma página web | JSON para HTML |
| JSON | YAML para um arquivo de configuração | JSON para YAML |
| JSON | XML para outro sistema | JSON para XML |
| JSON confuso ou inválido | JSON limpo e válido | Formatador de JSON |
| Dois arquivos JSON | Uma lista do que mudou | Comparar JSON |
Markdown tem seu próprio par de ferramentas: Markdown para JSON exporta uma árvore de documento e JSON para Markdown transforma JSON num esquema ou tabela em Markdown.
O formato de documento
PDF para JSON e Word para JSON gravam a mesma forma, para que um único código trate os dois. O nível superior sempre tem estes campos:
{
"format": "acepdfmd-document",
"version": 1,
"source": {"type": "pdf", "filename": "report.pdf", "title": "Q3 Report", "pages": 12},
"pages": [{"number": 1, "width": 612, "height": 792, "words": 380, "text": "..."}],
"blocks": [
{"type": "heading", "level": 1, "text": "Q3 Report"},
{"type": "paragraph", "text": "Revenue grew..."},
{"type": "list", "ordered": false, "items": [{"level": 0, "text": "Europe"}]},
{"type": "table", "header": ["Region", "Q3"], "rows": [["Europe", 1200.5]]}
],
"tables": [{"index": 1, "page": 3, "rows": [["Region", "Q3"], ["Europe", 1200.5]]}],
"form_fields": [{"name": "email", "type": "text", "value": "[email protected]"}],
"extraction": {"engine": "pdf_to_markdown/layout", "mode": "structure", "ocr": false, "warnings": []}
}
Os campos significam o seguinte:
- source: o que era o arquivo, com os metadados que ele trazia (título, autor, assunto, palavras-chave, datas de criação e modificação, número de páginas). Arquivos Word acrescentam a contagem de palavras, tabelas e imagens.
- pages: uma entrada por página do PDF, com seu tamanho em pontos, sua rotação, uma contagem de palavras e seu texto. Arquivos Word não têm páginas, porque o Word organiza páginas apenas quando imprime.
- blocks: o documento na ordem de leitura. Os tipos são heading (com nível de 1 a 6), paragraph (com um nome de estilo opcional vindo do Word), list (ordenada ou não, itens com um nível de aninhamento), table (cabeçalho e linhas tipadas), code, blockquote, rule e image.
- tables: para PDFs, cada tabela detectada com a página em que foi encontrada e, para uma tabela que continua, a página em que termina. Células que parecem números são números.
- form_fields: presente apenas quando o PDF tem um formulário. Cada campo tem seu nome, tipo (text, choice, button ou signature) e valor atual.
- extraction: qual conversor foi usado, o modo escolhido, se foi necessário OCR, e quaisquer avisos, como uma tabela que não pôde ser detectada.
A versão 1 deste formato só ganha campos novos; os campos existentes mantêm seus nomes e significados.
Dados tabulares e aninhamento
CSV e Excel são planos; JSON não é. Quando JSON vai para CSV ou Excel, objetos aninhados são achatados em nomes de coluna com pontos e arrays em nomes indexados, então um registro de pedido com um objeto de cliente e um array de itens se torna colunas como customer.name, items[0].sku e items[1].sku. Quando CSV ou Excel volta para JSON, os cabeçalhos escritos dessa forma são reconstruídos em objetos e arrays aninhados. Um cabeçalho com um ponto comum, como um número de versão ou uma abreviação, é deixado como está.
Os valores são tipados na entrada: números se tornam números, true e false se tornam booleanos, uma célula vazia se torna null, e qualquer outra coisa permanece uma string. Datas vindas do Excel são gravadas como strings ISO 8601, porque JSON não tem tipo de data. Mude a opção de tipos de valor para texto quando identificadores com zeros à esquerda precisarem permanecer exatamente como foram escritos.
Validação e reparo
Toda ferramenta de JSON valida sua entrada da mesma forma. Um arquivo inválido é rejeitado com a linha e a coluna do primeiro erro, e um trecho curto dessa linha. O Formatador de JSON também pode reparar os erros que as pessoas mais colam por engano: comentários, vírgulas finais, strings entre aspas simples, chaves sem aspas, True, False e None com maiúsculas, NaN e Infinity, e blocos de código em volta do texto. Quando um reparo é aplicado, o resultado informa isso, então nada muda de comportamento sem você saber.
Privacidade
Arquivos enviados e texto colado são processados em nossos servidores e excluídos dentro de 60 minutos; veja o guia de privacidade para os detalhes. Nada é armazenado além desse período e nada é usado para qualquer outro propósito.