Пачка сканов одним файлом: как её разобрать без рук
Бухгалтерия и юристы получают пачки сканов одним файлом, где счёт, договор и акт склеены. Разбираю открытый проект DocJev: он раскладывает документы по правилам обычным текстом и режет пачку на части. Что у него локально, что уходит в облако, как с русским языком и на какой стадии проект.
Одна пачка, десять документов
Бухгалтерия открывает почту утром. Контрагент прислал один PDF на 38 страниц: счёт, два акта, договор с приложением, три накладные и чья-то доверенность. Всё склеено в порядке, в котором лежало на сканере. Человек листает файл, режет на куски, называет каждый и раскладывает по папкам. На пачку уходит минут пятнадцать, на десять пачек в день около трёх часов. Это моя прикидка, у вас цифры будут другие.
У юристов то же самое с приложениями к делу: сто страниц сканов, где нужно найти, где кончается одно письмо и начинается другое.
В канале GitHub Radar заметили проект, который берётся за эту задачу. Смотрим, что он умеет на самом деле.
Что умеет DocJev
Репозиторий: github.com/jerryjliu/docjev. Принимает PDF, DOCX и PPTX. Режимов два.
Первый, классификация. Вы даёте один документ и список категорий, у каждой правило обычными словами, например «счёт на оплату: есть реквизиты получателя и слова "к оплате"». На выходе категория, вероятности по каждой и флаг «нужна проверка человеком».
Второй, разрезание. Вы даёте пачку, на выходе упорядоченные сегменты: категория и диапазон страниц. Команда docjev split может сразу сохранить каждый сегмент отдельным PDF. Есть и демо в браузере на localhost.
Новый тип документа добавляется одной строкой правила, обучать модель на ваших примерах не нужно.
Что остаётся у вас, а что уходит наружу
На вашей машине работает LiteParse: он достаёт текст со страниц и при необходимости распознаёт сканы. Без API-вызовов и платы.
Решение «это счёт» или «здесь граница документов» принимает модель Jev. В README для неё обязателен ключ TypeSafe API, и на этот сервис уходит нормализованный текст страниц. Картинки и сами PDF туда не отправляются. Варианта запуска этой модели у себя в README нет.
Третий слой необязательный. Для плохих сканов можно включить облачное распознавание LlamaParse. Тогда на облако уходит сам PDF, и это отдельный платный ключ.
Если в пачке есть паспортные данные, зарплатные ведомости или медицинские справки, любой из внешних слоёв означает передачу персональных данных третьей стороне. По части 5 статьи 18 закона 152-ФЗ запись, хранение и обновление персональных данных граждан РФ в базах за пределами России не допускаются, с ограниченными исключениями. Подпадает ли под это правило отправка текста на классификацию, решает ваш юрист. Для договоров под NDA смотрите ещё, что вы пообещали контрагенту.
В каком состоянии проект
Факты из репозитория на 1 октября 2026: создан 19 сентября, в основной ветке 10 коммитов, около 500 звёзд, последняя загрузка кода 26 сентября. По README, разработкой занимается ИИ-агент Codex. Проекту две недели, зрелым его не назвать.
В замерах авторов 40 настоящих PDF из американских госисточников (налоговая, Минфин, статистика, комиссия по ценным бумагам), по восемь на категорию. Классификация: 40 из 40 верно. Разрезание: 7 из 8 собранных пачек разрезаны точно. Авторы сами пишут, что разметку проверял другой ИИ-агент, а люди её не смотрели.
Что важно учесть
Русский язык не проверялся. В отчёте только английские государственные документы, и в README среди загружаемых компонентов упомянуты данные английского языка для распознавания. Как модель справится с русскими УПД, актами и договорами, неизвестно. Это надо мерить на ваших бумагах.
Точность не сто процентов даже на чистых английских PDF: одна пачка из восьми разрезана неточно. На кривых сканах, с печатями поверх текста и перевёрнутыми страницами будет хуже. Результат должен смотреть человек, особенно при флаге проверки или низкой вероятности.
Разрезание работает только по страницам и только подряд идущими кусками. Если страница договора затесалась в середину акта, инструмент её не вытащит. Слишком большие файлы он честно отвергает, а не обрезает молча.
Разложить файлы в 1С, папки или CRM, переименовать по правилам и привязать к контрагенту DocJev не умеет. Это отдельная работа.
Как мы строим такой конвейер
Схема простая. Пачка приходит на почту или в папку. Система достаёт текст, определяет типы документов и границы между ними, режет файл. Каждый кусок получает имя вида «тип, контрагент, номер, дата» и уезжает в нужное место. Всё, где модель сомневается, попадает в очередь на проверку, и человек одним кликом подтверждает или двигает границу.
Смежное я уже разбирал: в статье про ввод прайсов и накладных ИИ читает документ и заносит его в учёт, в статье про автообновление каталога это работает на регулярном потоке. Разбор пачки идёт перед ними первым шагом: сначала понять, что за бумага, потом читать поля. О локальных моделях распознавания есть отдельный разбор.
Классификатор можно взять и не облачный. Тип документа часто виден по заголовку и ключевым словам, а для спорных случаев подойдёт модель на вашем сервере, и текст не покидает вашу инфраструктуру. Схему выбираем после замера доли верных ответов на ваших пачках.
Что можно сделать уже сейчас
Возьмите 30 реальных пачек за последний месяц и посчитайте в таблице, сколько документов в каждой и какие типы. Получите точную цифру времени, которое сейчас уходит.
Выпишите типы документов и по одному признаку для каждого: что в них всегда есть. Это будущие правила категорий, и они пригодятся при любом инструменте.
Решите, какие документы нельзя отправлять наружу ни при каких условиях. От этого зависит, нужен ли вам полностью локальный вариант.
Если хотите попробовать сам DocJev, делайте это на обезличенных копиях или на документах без персональных данных.
Частые вопросы
Можно ли разбирать входящие документы вообще без облака?
Можно, если и распознавание, и классификатор работают у вас на сервере. DocJev в текущем виде так не умеет, ему нужен ключ TypeSafe. Под такой вариант собирается отдельный конвейер на локальных моделях.
Он сам положит документы в 1С?
Нет, DocJev только определяет категорию и страницы. Загрузку в 1С, раскладку по папкам и привязку к контрагенту мы добавляем сверху. Подробнее про учёт на странице автоматизации бухгалтерии.
Сколько стоит такая доработка?
Зависит от числа типов документов, объёма потока и места, где лежат данные. Ориентиры по ценам есть на странице прайса, точную цифру назову после разбора пары ваших пачек.
Коротко о главном
DocJev показывает, что категории документов можно описать словами и получить разрезание склеенных сканов без обучения на ваших данных. Проект двухнедельный, проверен на английских документах, а решение принимает облачная модель, в которую уходит текст страниц.
Каждый день разбираете пачки сканов руками и хотите отдать это конвейеру с проверкой человеком, с раскладкой в 1С, папки или CRM, при необходимости без облака? Напишите мне в Telegram слово «СОРТИРОВКА». Посмотрим на ваши пачки и соберём автоматизацию под ваш поток.
Ещё open-source для бизнеса
Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.
Что я делаю для бизнеса
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


