Перейти к содержанию

Extract From File, PDF и OCR в n8n: файлы, вложения и структурированные данные

Обновлено: 2026-05-29

Открыть мой план

Extract From File в n8n нужен, когда workflow получает файл в binary data и должен превратить его в JSON: CSV, XLSX, PDF, вложение из письма, экспорт из банка, прайс-лист или документ для базы знаний. Важно понимать границу: Extract From File извлекает данные из поддерживаемых форматов, а OCR для сканов и изображений часто требует отдельного сервиса или AI-ноды.

Базовая схема обработки файла

  1. Источник получает binary file: Gmail/IMAP, Webhook upload, Google Drive, S3, локальный файл.
  2. IF проверяет MIME type, размер и имя файла.
  3. Extract From File превращает файл в JSON, если формат подходит.
  4. Code/Set/Edit Fields нормализует поля.
  5. Данные уходят в CRM, Google Sheets, Postgres, RAG или approval.
  6. Ошибки формата отправляются в отдельную ветку.

Что делать с разными форматами

ФорматПодходРиск
CSVExtract From File → нормализация колоноккодировка, разделитель, пустые строки
XLSXExtract From File → выбор листа/таблицыобъединённые ячейки и ручная вёрстка
PDF с текстомExtract From File или специализированный парсерпорядок строк и таблиц может быть нестабильным
скан PDF/изображениеOCR-сервис или AI visionошибки распознавания и персональные данные
DOCXизвлечение текста или внешний конвертертаблицы, стили и вложенные элементы

PDF и OCR: не смешивайте задачи

Если PDF содержит текстовый слой, его можно извлекать как документ. Если это скан или фото, Extract From File не заменяет полноценный OCR. Для счетов, актов и накладных лучше строить pipeline так: файл → проверка типа → OCR/AI extraction → валидация полей → человек проверяет спорные значения → запись в учёт.

Invoice parsing: минимальный контракт

Для счетов не сохраняйте только “сырой текст”. Сначала выделите устойчивые поля:

{
  "document_type": "invoice",
  "invoice_number": "INV-2026-0012",
  "invoice_date": "2026-05-29",
  "supplier_inn": "7700000000",
  "total_amount": 12990.50,
  "currency": "RUB",
  "confidence": 0.92,
  "source_file": "invoice_0012.pdf"
}

Если confidence низкий, не записывайте данные сразу в CRM или бухгалтерию. Отправьте документ на ручную проверку.

Binary data и большие файлы

При работе с файлами следите за режимом хранения binary data. По умолчанию файлы могут держаться в памяти, и большие вложения способны перегрузить инстанс. Для self-hosted n8n стоит отдельно продумать режим хранения binary data, лимиты размера файлов и очистку старых executions.

Типовые ошибки Extract From File

СимптомПричинаЧто проверить
нода не видит файлневерное имя binary propertyоткрыть execution и посмотреть поле binary
PDF вернул пустой текстэто скан без текстового слояиспользовать OCR или AI vision
CSV разбился на одну колонкуне тот delimiter или кодировкапроверить separator, encoding и sample file
XLSX даёт мусорные строкив файле шапки, примечания, объединённые ячейкидобавить очистку и выбор нужного диапазона
workflow падает на больших файлахbinary data хранится в памяти или нет лимитовнастроить режим хранения и ограничения размера

Где это применять

  • Gmail attachments → Extract From File → Google Sheets;
  • счёт PDF → AI extraction → approval → CRM;
  • CSV выгрузка банка → Postgres → отчёт;
  • документы из Google Drive → RAG-база знаний;
  • прайс-лист поставщика → нормализация → сравнение цен.

Официальные источники

Практический контекст для внедрения

Эта страница полезна не как абстрактная справка, а как рабочая инструкция под использование ноды/паттерна «Extract From File, PDF и OCR в n8n: файлы, вложения и структурированные данные» в рабочем workflow, где важно понимать входные items и формат результата. Перед изменением workflow зафиксируйте источник события: входные данные по теме extract from file: webhook, schedule, ручной запуск или событие внешнего сервиса. Так проще отделить ошибку данных от ошибки настройки n8n и не превратить исправление в набор случайных правок.

Минимальная проверка перед публикацией workflow: один happy path, один пустой payload, один повтор события и одна ошибка внешнего сервиса. Для мониторинга используйте successful executions, skipped items, retry count, error branch usage; эти показатели быстро покажут, что сценарий работает иначе, чем ожидалось.

Связанные материалы