Гід з інструментів JSON: перетворення документів і даних на JSON і назад
Цей гід пояснює, як інструменти JSON читають і записують файли, формат документа PDF у JSON і Word у JSON, і який інструмент обрати для кожного завдання.
Чому JSON
JSON є форматом даних, який програми, вебсервіси і моделі AI читають найлегше: об'єкти з іменованими полями, списки, числа, текст, true, false і null, і нічого більше. Документи та електронні таблиці не зберігаються так. Інструменти цього сімейства долають розрив в обидва боки: вони перетворюють PDF, файли Word, електронні таблиці, CSV, YAML і XML на JSON, а також перетворюють JSON назад на файли, які читають люди, такі як PDF, Word, Excel, CSV і HTML.
Кожен інструмент працює на наших серверах через захищене з'єднання і видаляє завантажений файл протягом 60 хвилин. Текст можна вставити безпосередньо замість завантаження файлу.
Який інструмент для якого завдання
| У Вас є | Ви хочете отримати | Скористайтеся |
|---|---|---|
| Текст, таблиці й метадані як дані | PDF у JSON | |
| Документ Word | Заголовки, абзаци, списки і таблиці як дані | Word у JSON |
| Робоча книга Excel | Записи, рядки або стовпці | Excel у JSON |
| Файл CSV або TSV | Масив JSON з типізованими значеннями | CSV у JSON |
| Файл YAML | Ті самі дані як JSON | YAML у JSON |
| Файл XML | Об'єкти, атрибути і масиви | XML у JSON |
| JSON | PDF для читання або друку | JSON у PDF |
| JSON | Робочу книгу Excel | JSON у Excel |
| JSON | Файл CSV | JSON у CSV |
| JSON | Редагований документ Word | JSON у Word |
| JSON | Вебсторінку | JSON у HTML |
| JSON | YAML для конфігураційного файлу | JSON у YAML |
| JSON | XML для іншої системи | JSON у XML |
| JSON, що є заплутаним або недійсним | Чистий, дійсний JSON | Форматувальник JSON |
| Два файли JSON | Перелік того, що змінилося | Порівняти JSON |
Markdown має власну пару: Markdown у JSON експортує дерево документа, а JSON у Markdown перетворює JSON на структуру або таблицю Markdown.
Формат документа
PDF у JSON і Word у JSON записують ту саму форму, тож один код обробляє обидва типи файлів. На верхньому рівні завжди є такі поля:
{
"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": []}
}
Поля означають наступне:
- source: що було файлом, з його метаданими (назва, автор, тема, ключові слова, дати створення і зміни, кількість сторінок). Файли Word додають кількість слів, таблиць і зображень.
- pages: один запис на кожну сторінку PDF з її розміром у пунктах, поворотом, кількістю слів і текстом. У файлах Word немає сторінок, оскільки Word розкладає сторінки лише під час друку.
- blocks: документ у порядку читання. Типи: heading (з рівнем від 1 до 6), paragraph (з необов'язковою назвою стилю з Word), list (упорядкований чи ні, елементи з рівнем вкладеності), table (заголовок і типізовані рядки), code, blockquote, rule та image.
- tables: для PDF, кожна виявлена таблиця зі сторінкою, на якій її знайдено, і, для таблиці, що продовжується, сторінкою, на якій вона закінчується. Клітинки, що виглядають як числа, є числами.
- form_fields: присутнє лише коли у PDF є форма. Кожне поле має свою назву, тип (text, choice, button або signature) і поточне значення.
- extraction: який конвертер запускався, обраний режим, чи був потрібен OCR, і будь-які попередження, наприклад таблиця, яку не вдалося виявити.
Версія 1 цього формату лише отримує нові поля; наявні поля зберігають свої назви і значення.
Табличні дані і вкладеність
CSV і Excel є плоскими, а JSON, ні. Коли JSON перетворюється на CSV або Excel, вкладені об'єкти розгортаються у назви стовпців з крапками, а масиви, в індексовані, тож запис замовлення з об'єктом клієнта і масивом товарів стає стовпцями, такими як customer.name, items[0].sku і items[1].sku. Коли CSV або Excel повертаються назад до JSON, заголовки, записані таким чином, відновлюються у вкладені об'єкти і масиви. Заголовок зі звичайною крапкою в ньому, наприклад номер версії або скорочення, залишається без змін.
Значення типізуються на вході: числа стають числами, true і false стають булевими значеннями, порожня клітинка стає null, а все інше залишається рядком. Дати, що виходять з Excel, записуються як рядки ISO 8601, оскільки в JSON немає типу дати. Перемкніть параметр типів значень на текст, коли ідентифікатори з провідними нулями повинні залишитися точно такими, як записані.
Перевірка і виправлення
Кожен інструмент JSON перевіряє свої вхідні дані однаково. Недійсний файл відхиляється з рядком і стовпцем першої помилки та коротким фрагментом цього рядка. Форматувальник JSON може також виправити помилки, які люди найчастіше вставляють: коментарі, зайві коми, рядки в одинарних лапках, ключі без лапок, написані з великої букви True, False і None, NaN і Infinity, а також огородження коду навколо тексту. Коли виправлення застосовано, результат повідомляє про це, тож нічого не змінюється непомітно для Вас.
Приватність
Завантажені файли і вставлений текст обробляються на наших серверах і видаляються протягом 60 хвилин; детальніше див. у гіді з приватності. Ніщо не зберігається довше цього часу і не використовується з жодною іншою метою.