Перейти к содержимому
pdftools.kz

Чем скан отличается от фотографии документа

Различий четыре, и ни одно не про разрешение: по числу точек телефон догнал сканер давно, 345 DPI при плотном кадре тому подтверждение. Сканер прижимает лист к стеклу, поэтому геометрия точная, а свет равномерный. Камера снимает под углом, кладёт на лист тень и градиент яркости и добавляет к файлу тег ориентации, который разные браузеры применяют по-разному.

Локально в браузеребез регистрации

Коротко о цифрах

Кадр 4032 точки, лист во весь кадр
345 DPI
Проверка тега ориентации
по эффекту: пробный снимок 2×1 с записанным поворотом
Вставка снимка в PDF
через холст, JPEG с качеством 0,95
Общее у скана и снимка
текстового слоя нет ни у одного
Главное различие
геометрия и свет, а не число точек

Четыре различия по порядку

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

Что мы делаем с тегом ориентации

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

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

При сборке PDF из снимков картинка проходит через холст и кодируется в JPEG с качеством 0,95 — именно так поворот попадает в пиксели, а не остаётся пометкой в метаданных. Скан такой обработки не требует: у него ориентация уже записана в самих точках.

Что из этого важно на практике

  • Принимающая сторона обычно требует ровный лист без стола вокруг: снимок под это нужно кадрировать и обрезать, скан — почти никогда.
  • Снимок тяжелее при том же размере страницы: неравномерный фон и градиент яркости кодируются как дополнительная информация.
  • Распознавание устойчивее на скане: наклон и неравномерный свет сбивают его сильнее, чем нехватка сотни точек на дюйм.
  • Ни скан, ни снимок не содержат текстового слоя: искать по такому документу нечего, пока к нему не добавили распознанный текст.
  • При сборке PDF из снимков ставьте размер листа A4, а не «Авто», иначе страница получится размером с плакат.

Частые вопросы

Примут ли фотографию документа вместо скана?

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

Почему снимок документа весит больше скана той же страницы?

Из-за фона и градиента яркости. Ровный фон сканера кодируется почти даром, а неравномерно освещённая бумага со столом по краям несёт куда больше различий между соседними точками.

Почему фотография переворачивается при загрузке?

Потому что ориентация в снимке хранится отдельным тегом, а не в самих пикселях. Мы проверяем поведение браузера пробным изображением и при необходимости читаем тег сами, чтобы страница не встала боком.

Можно ли из фотографии сделать настоящий скан?

Улучшить геометрию и свет задним числом нельзя, а вот привести снимок к приличному виду можно: обрезать стол по краям, собрать страницы в PDF на листах A4 и уменьшить вес сжатием.

Рядом