Уменьшение веса сканированного PDF: быстрый рабочий алгоритм
Чтобы уменьшить размер отсканированного PDF без потери читаемости, почти всегда достаточно: убрать лишний цвет, привести разрешение к 300 dpi (или ниже), очистить фон/шум и затем корректно пересобрать PDF (с OCR — при необходимости).
Обычно «раздувает» файл сочетание цвет + 600 dpi + серый фон бумаги. Для текста чаще всего достаточно серого/ч/б режима и 300 dpi.
Оглавление
Понять, что внутри: текст или картинки
- Увеличьте страницу до 200–300%: если видны пиксели и «зерно», это растр (картинка).
- Попробуйте выделить текст: если не выделяется или выделяется «кашей», это скан-изображения.
Почему это важно: для сканов нужно управлять изображениями (DPI, режим, шум, алгоритм сжатия). Для «нормального» текстового PDF достаточно оптимизации при сохранении.
Если можно пересканировать: настройки, которые сразу экономят мегабайты
Самый «безболезненный» способ — пересканировать с правильными параметрами (результат обычно лучше, чем «лечить» тяжёлый файл).
Рекомендации для документов с текстом (договоры, заявления, лекции):
- Режим: Grayscale (серый) или Ч/Б (битональный) — не цвет.
- Разрешение: 300 dpi (для мелкого шрифта/печатей — 400 dpi, но не 600 «на всякий случай»).
- Обработка: выравнивание (deskew), лёгкое удаление фона/шума, аккуратная резкость.
- Сканирование по страницам: если в документе есть 1–2 страницы с цветными схемами/фото — сканируйте их отдельно в цвете, остальное в сером/ч/б.
Если документ читается с экрана, то снижение с 600 до 300 dpi обычно почти незаметно для глаз, но размер падает кратно.
Если пересканировать нельзя: сжатие и OCR офлайн
Надёжный порядок действий: сначала сделать копию → затем сжимать → потом проверять самые мелкие места (таблицы, реквизиты, подписи).
1) Пересборка PDF через Ghostscript (gs)
Подходит, когда нужно быстро уменьшить скан и не возиться с настройками по каждой картинке.
Команда с хорошим компромиссом качества:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Как выбирать пресет:
/ebook— чаще всего оптимален для чтения./printer— если после/ebookмелкий текст стал «мыльным»./screen— максимально маленький файл, но риск потери чёткости выше.
2) OCRmyPDF: поиск по тексту + оптимизация
Если нужен поиск, копирование текста и более удобный архив, прогоните OCR с умеренной оптимизацией:
Безопасно по качеству:
ocrmypdf -O 1 --output-type pdf input.pdf output.pdf
Чуть сильнее (обычно всё ещё читаемо):
ocrmypdf -O 2 --output-type pdf input.pdf output.pdf
Агрессивные режимы и «сильные» методы для ч/б могут уменьшить размер очень заметно, но для документов с цифрами (суммы, ИНН, номера) обязательно делайте визуальную проверку ключевых строк.
Как быстро проверить, что читаемость не пострадала
- Сравните исходник и результат на 100% и 200% масштабе.
- Пройдитесь по: мелкому шрифту, таблицам, печатям, подписям, тонким линиям.
- Если появились «ореолы» вокруг букв — попробуйте более мягкий пресет (например,
/printer) или уменьшите степень оптимизации (-O 1).
Частые ошибки
- Сканирование в цвете, хотя нужен серый/ч/б.
- 600–1200 dpi без реальной необходимости.
- Серый фон бумаги и шум (страница превращается в «фотографию», которую трудно сжать).
- Сжатие «вслепую» без проверки мелкого текста и реквизитов.
- Смешивание в одном режиме: весь документ в цвете из‑за пары цветных страниц.
FAQ
Какое DPI выбрать, чтобы текст не расплылся?
Обычно 300 dpi. Для очень мелкого шрифта и печатей — 400 dpi. Ниже 200 dpi имеет смысл только для простого текста и после проверки.
Можно ли уменьшить размер вообще без потерь?
Если исходник уже оптимален — почти нет. Но без потери читаемости (визуально) чаще всего можно, особенно когда исходник: цветной, с фоном, с завышенным DPI.
Что выбрать: Ghostscript или OCR?
Если нужен просто меньший файл — начните с Ghostscript /ebook. Если нужен поиск по документу — OCRmyPDF -O 1, затем при необходимости -O 2.