Многие документные конвейеры считают каждый входящий PDF задачей OCR — хотя 60–80 % страниц OCR не требуют: в них уже есть выделяемый текст, векторные таблицы или встроенные шрифты. Предварительная проверка PDF (pre-flight) перед вызовом Textract или Document AI — самый выгодный шаг в контроле OCR Cost. В этом руководстве — зачем проверять, как классифицировать страницы и как внедрить OCR Optimization в продакшене.
1. Зачем определять PDF до OCR
PDF OCR обычно тарифицируется за страницу — AWS Textract, Google Document AI, Azure Document Intelligence, ABBYY, управляемый PaddleOCR и др. стоят от $0,0015 до $0,05+ за страницу. Подвох: PDF — не один формат. Один и тот же «счёт.pdf» может быть:
- нативным текстовым PDF из ERP (
pdftotextмгновенно отдаёт весь текст); - Word в PDF с встроенными шрифтами;
- чистым растровым сканом (OCR обязателен);
- гибридом: обложка — скан, дальше — текст.
Запускать OCR на страницах с готовым текстовым слоем — платить за повторное «чтение пикселей», часто с худшей точностью, чем при прямом извлечении. В финансах, юриспруденции и страховании постраничный pre-flight + маршрутизация рутинно сокращают объём облачного OCR вдвое; в корпусах с высокой долей нативного текста (выписки, электронные договоры, госдокументы) реалистична годовая экономия OCR Cost 70–80 %.
2. Сколько стоит одна страница
| Статья | Типичная цена 2026 | Примечания |
|---|---|---|
| Базовый OCR (только текст) | $0,0015–0,003/стр. | Без таблиц/форм |
| OCR таблиц / форм | $0,01–0,05/стр. | Структурированный тариф Document AI |
| Рукопись / плохие сканы | надбавка 1,5–3× | Может понадобиться ручная QA |
| Свой GPU (амортизация) | ≈$0,0003–0,001/стр. | Зависит от загрузки |
Пример: 2 млн стр./мес. по $0,008/стр. ≈ $192 000/год. Если pre-flight покажет, что 75 % страниц можно извлечь текстом (почти нулевая маржинальная стоимость), а OCR нужен лишь 25 %, расходы на OCR падают до ~$48 000 — около 75 % экономии; меньше ошибок OCR и переделок часто дают ощущение 80 %.
Сравните тарифы: цены Google Document AI и цены AWS Textract. Если вы уже маршрутизируете LLM для снижения счёта API, документам нужна та же дисциплина — см. наш чеклист миграции OmniRoute.
3. Три типа PDF
| Тип | Признаки | Маршрут | Относительная стоимость |
|---|---|---|---|
| A. Нативный текст | Есть шрифты; pdftotext выше порога | Извлечение + нормализация кодировки | ≈0 |
| B. Гибрид | Часть страниц — текст, часть — скан | Постраничная маршрутизация | Средняя |
| C. Плоский скан | Нет шрифтов; bitmap на всю страницу | OCR (+ выравнивание/шумоподавление) | Высокая |
На гибридах команды чаще всего ошибаются: в PDF M&A на 200 страниц OCR может понадобиться только для сканированных приложений. Постраничное определение отделяет настоящую оптимизацию PDF OCR от угадывания по файлу. Руководство Adobe по шрифтам PDF объясняет встроенный текст vs скан-слой.
4. Пятиступенчатый pre-flight
- Структурный зонд: число страниц, шифрование, повреждения — чинить до платного OCR.
- Зонд текстового слоя: символы и объекты шрифтов на странице; при пороге и низкой доле «мусора» —
TEXT_OK. - Покрытие изображением: крупный bitmap + пустой текст →
SCAN. - Оценка качества: DPI, контраст, наклон — предобработка до OCR, чтобы не платить за повторы.
- Маршрут:
TEXT_OK→ локальное извлечение;SCAN→ очередь OCR;HYBRID→ разбивка страниц.
Экспортируйте метрики: preflight_text_ratio, ocr_pages_ratio, ocr_retry_rate. Ежемесячный разбор эффективнее, чем торговаться только о цене за страницу.
5. Open source vs облако
| Этап | Локально / OSS | Облачный API |
|---|---|---|
| Pre-flight / извлечение | PyMuPDF, poppler, qpdf | Обычно не нужен |
| OCR-движок | Tesseract, PaddleOCR, Surya | Document AI, Textract, Azure DI |
| Таблицы | pdfplumber, camelot для нативных PDF | Облачные режимы форм/таблиц |
Выигрышная схема OCR Optimization: локальный pre-flight, облачный OCR только для страниц SCAN.
6. Пример маршрутизации на Python
import fitz # PyMuPDF
MIN_CHARS = 30
def page_classify(page) -> str:
text = page.get_text("text").strip()
if len(text) >= MIN_CHARS:
return "TEXT_OK"
if page.get_images(full=True) and len(text) < MIN_CHARS:
return "SCAN"
return "HYBRID"
Добавьте таймауты, обработку шифрования и метаданные для поиска. Pre-flight воркерам нужен стабильный CPU — пакетные задачи похожи на CI; выделенные узлы лучше шумного shared VPS.
7. Кейс: ~80 % экономии
Трансграничный логистический SaaS обрабатывал 8 000 PDF/день (~32 000 стр.). Полный Document AI OCR по $0,006/стр. ≈ $5 760/мес. После постраничного pre-flight в OCR попало только 22 % страниц — ~$1 270/мес. (~78 % сэкономлено, compute pre-flight < $200).
| Этап | Действие | Доля OCR-страниц | Месячный OCR |
|---|---|---|---|
| До | Полный облачный OCR | 100 % | ~$5 760 |
| После | Pre-flight + локальное извлечение | 22 % | ~$1 270 |
| Экономия | — | — | ~78 % |
Дополнительно: точность нативных ID-полей с ~96 % (OCR) до почти 100 %; тикеты поддержки из-за неверных трек-номеров −40 % и более.
8. Чеклист оптимизации OCR
- ☐ Дашборд: извлечённые / OCR / повторные страницы
- ☐ Маршрутизация по страницам — не одна стратегия на файл
- ☐ Контроль качества сканов до OCR
- ☐ Нативные таблицы через pdfplumber, не фото-OCR
- ☐ Бенчмарки движков по языкам
- ☐ Еженедельная выборочная проверка 0,1 % страниц TEXT_OK
- ☐ Алерт при росте вызовов OCR +30 % день к дню (та же FinOps-дисциплина, что и многоуровневая маршрутизация API)
9. FAQ
Pre-flight медленнее OCR?
Текстовые зонды на страницу — миллисекунды, намного меньше RTT облачного OCR. Параллелизуйте IO-bound пакеты.
А ложные текстовые слои?
У некоторых сканов — плохой невидимый OCR-текст. Смотрите долю мусора и перекрытие с изображением; подозрительные страницы понижайте до SCAN.
Зашифрованные PDF?
Решайте пароли на pre-flight; не гоняйте ошибки расшифровки в платный OCR снова и снова.
80 % — для всех?
Зависит от доли нативного текста. Чистые скан-архивы: 10–20 %; э-счета и договоры: 70–85 %. Сначала выборка 1 %.
Заменить облачный OCR на Tesseract?
Для простых макетов в массе — да; сложные таблицы и рукопись — облако или спецмодели.
Связь с «чтением PDF» LLM?
Мультимодальные модели тарифицируют токены за чтение PDF — сначала извлеките чистый текст/JSON. Та же FinOps-логика, что и пред-OCR проверка.
Стабильные воркеры для pre-flight и OCR
Pre-flight, подготовка изображений и self-hosted OCR — долгие CPU/GPU-задачи. Соседи на shared VPS вызывают таймауты и платные повторы — растёт OCR Cost. Unified Memory Apple Silicon хорошо тянет параллельный PyMuPDF и локальный инференс.
Строите конвейер PDF OCR или RAG-ингест? Выделенные Mac mini M4 Nuvcloud подходят как pre-flight/OCR-воркеры — смотреть тарифы и запускать OCR Optimization на предсказуемом железе.