July 8

Превратил сканы книг в чистый текст, пока лежал на кровати и смотрел видео

📍 Точка А

Ситуация: я читаю книги на смартфоне, и некоторые книги существуют только виде PDF сканов - читать их на смартфоне неудобно: мелкий шрифт у неудобная навигация. Задача "привести это в приличный формат для чтения" лежала без движения долгое время - было понятно, что задача не такая простая: на странице кроме самого текста есть колонтитулы, изображения, лишние данные в начале книги и т.д. и т.п. Автоматические конверторы из интернета - выполняют эту задачу криво косо и получившийся файл на смарте выглядит нечитаемо.

повторяющиеся колонтитулы
кривое распознавание

Я понимал, что чтобы сделать это нормально, придётся потратить уйму времени потому что вылезет куча неочевидных нюансов. Так и получилось.

Задачи:

  • Автоматически конвертировать сканы PDF в FB2
  • Убрать весь мусор оформления, сохранив реальный текст без изменений
  • Вытащить текст даже там, где он "спрятан" внутри картинок
  • Сохранить структуру глав для навигации
  • Уложиться в разумный бюджет, желательно вообще бесплатно

Боли:

  • Первым делом пошёл в свой рабочий инструмент — Perplexity, разобрать задачу. Получил вывод: агент не нужен, задача последовательная, хватит обычного сценария в Make.
  • Начал собирать бота в Make. Через пару часов упёрся в две стены сразу: качество выходило так себе, а экономика — вообще нежизнеспособная. 1 страница = 10 операций, книга на 300 страниц = 3000 операций, а на тарифе всего 10 000 операций в месяц. То есть по факту — 3 книги в месяц и всё, лимит исчерпан.

🔧 Процесс решения

Про Claude Code знал уже давно но не понимал для каких задач он мне может пригодиться вот и не лез. А тут как раз - решил попробовать. Поставил задачу Клоду и по большей части ушёл "в фон": смотрел видео, лежал на кровати, изредка проверял результаты, давал разрешения на следующие шаги и корректировал направление. На весь процесс ушли примерно сутки - почти всё это время агент работал самостоятельно.

Что получилось по архитектуре:

  • Бесплатный офлайн-пайплайн по умолчанию: разбор PDF (PyMuPDF), локальное распознавание текста (Tesseract), автоматическая словарная чистка типичных ошибок OCR — склеенных и разорванных слов
  • Эвристики для отделения текста от мусора: поиск повторяющихся колонтитулов по соседним страницам, отсечение обложки/оглавления/копирайта до начала первой главы, определение заголовков по размеру шрифта
  • Локальный веб-интерфейс — закинул PDF, получил готовый файл, без консольных команд

Протестировал на 4 книгах с разной вёрсткой — от обычного романа до журнального стиля с декоративными врезками. Первый прогон на чистых эвристиках показал: текст внутри картинок не извлекается вообще, оглавление превращается в кашу из слов и цифр, заголовки глав путаются с декоративными цитатами. Стало ясно — правилами эту задачу не дожать, нужно менять подход.

Добавил платный "качественный режим": вместо локального OCR каждая страница уходит на модель с компьютерным зрением (GPT-4.1), которая одним проходом и читает текст точно (даже капслок и стилизованные шрифты), и сама отличает настоящий заголовок главы от декоративной цитаты — то, что эвристики упорно путали.

По пути поймал реальный баг: на более дешёвой версии модели она иногда выдумывала целые абзацы текста, которых в книге не было — для инструмента, где вся суть в точности исходника, это критичная ошибка. Заменил на полную модель — проблема ушла полностью.


🎯 Точка Б

Цифры:

  • 4 протестированные книги с разной вёрсткой
  • Одна книга: было 82 картинки без единого слова текста → стало 129 абзацев чистого читаемого текста + 19 настоящих иллюстраций
  • Другая книга: капслок-мусор, типичный для сканов ("ТЬ1СЯЧУ... ОбЩ@СТВЗ... ЖЭРЕНОЙ КЗРТОШКОЙ") — исчез полностью, текст стал идеально читаемым
  • Третья книга: файл, который раньше открывался 5-кратно повторённой обложкой и мешаниной из оглавления, теперь стартует чисто с "Предисловие"
  • Стоимость: $1-3 за книгу в платном режиме или бесплатно в офлайн-режиме — против тупиковой экономики первой попытки (3000 операций на книгу при лимите 10 000/мес)
  • Время на весь проект — около суток, почти без ручного участия

Эмоции: ощущение, что задача, которая казалась неподъёмной и лежала без движения долго, реально закрыта — навайбкодил что-то действительно полезное для себя, а не просто демо ради демо.

Сдвиги: появился рабочий инструмент, которым лично пользуюсь для перевода домашней библиотеки сканов. Появилось чёткое понимание разницы подходов: no-code (Make) хорош для предсказуемых последовательных сценариев, но упирается в потолок на объёмных задачах; ИИ-агент справился именно там, где no-code оказался экономически нежизнеспособным. Это мой первый подобный кейс — дальше буду пробовать другие задачи, чтобы понять границы применимости.


🎯 Хотите так же?

Если у вас есть рутинная задача, которая тоже "давно лежит в столе", потому что кажется слишком сложной или дорогой в реализации, но вы не знаете:

  • с чего начать — с no-code сценария, готового сервиса или ИИ-агента
  • как оценить реальную стоимость и границы каждого подхода ДО того, как потратите на него время
  • какой набор инструментов подойдёт именно под вашу задачу, а не сольёт бюджет в никуда

Напишите мне в личку в Telegram 📩 https://t.me/lexeliseev

🎁 В ответ — сделаю аудит вашего бизнеса и подскажу, как оптимизировать рутину с помощью ИИ-решений.