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

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

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

Обновлено:

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

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

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

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

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

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

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

При сборке PDF из снимков JPEG не перекодируется: тег читается из файла, а поворот делает матрица на странице, так что данные кадра ложатся байт в байт — без EXIF и геометки, — а смотрится он как в галерее. Через холст идут WebP, HEIC, BMP и GIF: их PDF как есть не принимает. Скан никакого поворота не требует: у него ориентация записана в самих точках.

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

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

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

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

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

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

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

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

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

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

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

Рядом

Все материалы справочника →