Průvodce nástroji JSON: převod dokumentů a dat na JSON a zpět
Tento průvodce vysvětluje, jak nástroje JSON čtou a zapisují soubory, formát dokumentu, který produkují PDF do JSON a Word do JSON, a který nástroj použít pro každý úkol.
Proč JSON
JSON je datový formát, který nejsnáze čtou programy, webové služby a modely AI: objekty s pojmenovanými poli, seznamy, čísla, text, true, false a null, nic jiného. Dokumenty a tabulky se takto neukládají. Nástroje z této rodiny překlenují tento rozdíl v obou směrech: převádějí PDF, soubory Word, tabulky, CSV, YAML a XML na JSON a převádějí JSON zpět na soubory, které lidé čtou, například PDF, Word, Excel, CSV a HTML.
Každý nástroj běží na našich serverech přes zabezpečené připojení a nahraný soubor smaže do 60 minut. Textový vstup lze místo nahrání vložit přímo.
Který nástroj pro který úkol
| Máte | Chcete | Použijte |
|---|---|---|
| Text, tabulky a metadata jako data | PDF do JSON | |
| Dokument Word | Nadpisy, odstavce, seznamy a tabulky jako data | Word do JSON |
| Sešit Excelu | Záznamy, řádky nebo sloupce | Excel do JSON |
| Soubor CSV nebo TSV | Pole JSON s typovanými hodnotami | CSV do JSON |
| Soubor YAML | Stejná data jako JSON | YAML do JSON |
| Soubor XML | Objekty, atributy a pole | XML do JSON |
| JSON | PDF ke čtení nebo tisku | JSON do PDF |
| JSON | Sešit Excelu | JSON do Excelu |
| JSON | Soubor CSV | JSON do CSV |
| JSON | Upravitelný dokument Word | JSON do Word |
| JSON | Webovou stránku | JSON do HTML |
| JSON | YAML pro konfigurační soubor | JSON do YAML |
| JSON | XML pro jiný systém | JSON do XML |
| JSON, který je neuspořádaný nebo neplatný | Čistý, platný JSON | Formátovač JSON |
| Dva soubory JSON | Seznam toho, co se změnilo | Porovnat JSON |
Markdown má svůj vlastní pár: Markdown do JSON exportuje strom dokumentu a JSON do Markdownu přemění JSON na osnovu nebo tabulku v Markdownu.
Formát dokumentu
PDF do JSON a Word do JSON zapisují stejný tvar, takže jeden kus kódu zvládá oba nástroje. Nejvyšší úroveň má vždy tato pole:
{
"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": []}
}
Pole mají tento význam:
- source: co soubor byl, s metadaty, která obsahoval (název, autor, předmět, klíčová slova, data vytvoření a úpravy, počet stránek). Soubory Word navíc obsahují počet slov, tabulek a obrázků.
- pages: jedna položka pro každou stránku PDF s její velikostí v bodech, otočením, počtem slov a jejím textem. Soubory Word stránky nemají, protože Word je rozvrhuje pouze při tisku.
- blocks: dokument v pořadí čtení. Typy jsou heading (s úrovní 1 až 6), paragraph (s volitelným názvem stylu z Wordu), list (řazený nebo ne, položky s úrovní vnoření), table (záhlaví a typované řádky), code, blockquote, rule a image.
- tables: u PDF každá zjištěná tabulka se stránkou, na které byla nalezena, a u tabulky, která pokračuje, i stránkou, na které končí. Buňky, které vypadají jako čísla, jsou čísla.
- form_fields: přítomné pouze tehdy, když má PDF formulář. Každé pole má svůj název, typ (text, choice, button nebo signature) a aktuální hodnotu.
- extraction: který převodník běžel, zvolený režim, zda byl potřeba OCR, a případná upozornění, například tabulka, kterou se nepodařilo rozpoznat.
Verze 1 tohoto formátu pouze přibírá nová pole; stávající pole si zachovávají své názvy a význam.
Tabulková data a vnořování
CSV a Excel jsou plochá, JSON není. Když JSON přechází do CSV nebo Excelu, vnořené objekty se zploští na názvy sloupců s tečkami a pole na indexované sloupce, takže záznam objednávky s objektem customer a polem items se stane sloupci jako customer.name, items[0].sku a items[1].sku. Když se CSV nebo Excel vrací zpět do JSON, takto zapsaná záhlaví se znovu sestaví do vnořených objektů a polí. Záhlaví s běžnou tečkou, například verze čísla nebo zkratka, se nechá bez zásahu.
Hodnoty se typují už při vstupu: čísla se stanou čísly, true a false se stanou booleovskými hodnotami, prázdná buňka se stane null a vše ostatní zůstane řetězcem. Data pocházející z Excelu se zapisují jako řetězce ISO 8601, protože JSON nemá typ data. Přepněte volbu typů hodnot na text, když identifikátory s nulami na začátku musí zůstat přesně tak, jak jsou napsané.
Validace a oprava
Každý nástroj JSON ověřuje svůj vstup stejným způsobem. Neplatný soubor je odmítnut s řádkem a sloupcem první chyby a krátkým úryvkem tohoto řádku. Formátovač JSON umí také opravit chyby, které lidé při vkládání dělají nejčastěji: komentáře, přebývající čárky, řetězce v jednoduchých uvozovkách, nekvótované klíče, velká písmena True, False a None, NaN a Infinity a bloky kódu kolem textu. Když byla oprava provedena, výsledek vám to sdělí, takže se nic nezmění tajně bez vašeho vědomí.
Ochrana soukromí
Nahrané soubory a vložený text se zpracovávají na našich serverech a smažou se do 60 minut; podrobnosti najdete v průvodci ochranou soukromí. Nic se neuchovává déle a nic se nepoužívá k jinému účelu.