Генератор QR-кода для PDF-документа
100% приватно и локально — ваши данные никогда не покидают браузер. Эти QR-коды постоянны и никогда не истекают.
Настройки: PDF
Дизайн
Добавить логотип в центр
Изображение читается на этой странице и встраивается в код как data: URL. Оно никуда не загружается и остаётся внутри файла, который вы скачиваете.
Ещё параметры дизайна
Тёмная половина кода. Держите её заметно темнее фона по светлоте.
Закрашивает и свободную зону, и промежутки между модулями. Прозрачный фон исключает его из файла, поэтому им ничего не рисуется.
Контраст 11.5:1 между модулями и фоном.
PNG и WebP сохраняют альфа-канал; в SVG прямоугольник фона просто отсутствует. Светлой половиной контраста становится то, на чём код размещён.
Градиент заливает только тёмные модули. Контраст, который реально получает сканер, задаёт его светлый конец, поэтому оба конца должны оставаться тёмными.
Второй цвет, используется только при выбранном градиенте. Контраст измеряется по нему наравне с первым.
Градусы по часовой стрелке от направления слева направо. Радиальный градиент расходится из центра, поэтому угол действует только для линейного.
Скруглённые формы закрывают меньшую часть каждой ячейки. Центр остаётся закрытым, а именно его считывает декодер, но плотный код в мелкой печати надёжнее читается квадратами.
Кольцо трёх поисковых узоров.
Зрачок внутри каждого поискового узора.
Пустое поле вокруг кода, измеряется в модулях. Стандарт задаёт минимум 4.
Более высокий уровень переносит больше повреждений и стоит ёмкости, поэтому то же содержимое даёт более плотный символ.
В центре стоит логотип, и он удерживает уровень H. Предел его ширины следует за символом: 14% на самом маленьком коде и 30% на плотном.
Предпросмотр и экспорт
Введите адрес, с которого отдаётся PDF.
Экспорт
Растр, для экранов
Заполните форму, чтобы включить скачивание.
Размер экспорта и закодированный текст
- Данные
- Пока не закодировано
- Символ
- Ещё не построен
- Коррекция
- M
Ожидание ввода
QR-код не может вместить PDF, поэтому здесь кодируется адрес, по которому ваш PDF лежит. Ссылка записана в сам символ, а значит, код постоянен, и живым нужно поддерживать хостинг.
Когда его сканируют
Сканер открывает ссылку, а телефон затем показывает или скачивает PDF в зависимости от браузера и от того, как ваш сервер отдаёт файл.
QR-код хранит ссылку, а не файл
Самый большой символ, который определяет формат, — версия 40 на уровне коррекции L — вмещает 2953 байта, чуть меньше трёх килобайт. Одностраничный PDF обычно весит от 50 до 500 килобайт, поэтому документ на один-три порядка велик, чтобы напечатать его в квадрат. Любой QR-код для PDF, где бы он ни был сделан, — это ссылка.
У этого есть следствие, о котором стоит сказать прямо. Символ расшифруется и через двадцать лет, потому что адрес физически напечатан в нём. Лежит ли файл всё ещё по этому адресу — вопрос хостинга, и ни один напечатанный код на него не отвечает.
Хостинг, при котором ссылка продолжает работать
Адрес, который вы кодируете, — это обещание всем, кто отсканирует напечатанную копию, поэтому выбирайте тот, который сможете сдержать. Годится только путь в домене, которым управляете вы.
Короткие пути дают и меньшие символы. /docs/menu.pdf — это 15 символов, и он остаётся на низкой версии; сгенерированный ключ хранилища на 120 символов поднимает тот же код на несколько версий без всякой пользы.
- Подписанные или истекающие ссылки — временные адреса для скачивания, которые выдаёт облачное хранилище, — расшифровываются безупречно, а затем отказывают в день истечения
- Всё, что за входом в аккаунт, показывает экран входа, а не документ
- Держите имя файла неизменным: повторная загрузка как handbook-v2.pdf ломает каждую уже напечатанную копию
- Вместо этого заменяйте файл по тому же адресу — и каждый напечатанный код подхватит новую версию
- Отдавайте его по https, чтобы браузер не предупреждал перед открытием
Что телефон делает с файлом
Открытие PDF — это поведение браузера, а не QR, и оно неодинаково. Safari в iOS и Chrome в Android отрисовывают большинство PDF прямо на странице. Некоторые браузеры Android скачивают файл и передают его отдельной программе просмотра. Настольный сканер обычно просто выдаёт адрес.
У вашего сервера решающий голос в одном: файл, отданный с Content-Disposition: attachment, скачивается вместо предпросмотра на любой платформе. Если вы хотите, чтобы документ открывался на месте, не ставьте этот заголовок.
Вопросы и ответы
Может ли сам PDF поместиться внутрь QR-кода?
Нет. Потолок формата — 2953 байта, что меньше почти любого настоящего PDF. Код хранит адрес, с которого файл отдаётся.
Для чего используется название документа?
Только для одного: оно даёт имя файлу SVG, PNG или WebP, который вы скачиваете, чтобы двадцать экспортов в папке можно было различить. В полезную нагрузку оно не входит, поэтому ничего не меняет в том, что читает сканер.
Что происходит, когда я обновляю документ?
Если вы заменяете файл по тому же адресу, каждый напечатанный код продолжает работать и показывает новую версию. Если вы загружаете его под новым именем, напечатанные коды указывают на файл, которого там больше нет.
Должен ли файл быть публичным?
Он должен быть доступен тому, кто сканирует код. Коду на публичной афише нужен публично читаемый файл; код внутри здания может указывать на внутренний адрес, который разрешается только в этой сети.
Как работает статический QR-код
Каждый код на этом сайте статический: данные записаны в сами чёрно-белые модули. При чтении кода ничего не запрашивается, ни один наш сервер в этом не участвует и никакая подписка не держит напечатанный код на плаву. То же свойство и есть ограничение: после печати изменить его содержимое нельзя.
Дальше то, прочитается ли напечатанный код, решают три вещи: во сколько байт вышли данные, какой уровень коррекции поглощает повреждения и какой ширины получается один модуль на бумаге. Эти руководства разбирают каждую из них с цифрами.