Сертификаты, бейджи, грамоты и QR-коды пачкой: из списка в таблице за минуты
Сто сертификатов вручную — день работы дизайнера. Разбираю, как генерировать их пачкой из таблицы и как проверять подлинность по QR-коду.
Коротко (TL;DR)
- Сертификаты, бейджи, грамоты и подарочные карты можно не делать по одному в редакторе. Скрипт берёт шаблон и список из таблицы и за минуты собирает готовые файлы на всех.
- Каждый документ получает уникальный номер или QR-код. По QR любой может проверить, что сертификат настоящий и ещё действует.
- На выходе PDF для печати на листах, отдельные файлы для рассылки и таблица с номерами для учёта.
Перед мероприятием кто-то садится в графический редактор и вписывает имена в бейджи. Сто участников, сто раз скопировать, вставить, поправить перенос строки. После курса то же самое с сертификатами. Перед праздниками с подарочными картами. Ошибка в фамилии всплывает уже на печати. Я делаю такую генерацию на заказ: шаблон один раз, дальше всё из таблицы. Расскажу, как это устроено.
Что можно генерировать из списка
Подходит любой документ, где меняются только данные, а оформление одинаковое. Бейджи участников с именем, компанией и ролью. Сертификаты об окончании курса с датой и названием программы. Грамоты и благодарности. Подарочные сертификаты с номиналом и сроком действия. Пропуска, приглашения, карточки с QR-кодом для акции.
Логика везде одна. Есть шаблон с оформлением и пустыми местами. Есть таблица, где одна строка равна одному документу. Скрипт проходит по строкам и подставляет данные в шаблон.
Если вам нужно то же самое, но для договоров, актов и счетов, это соседняя задача. Про неё я писал в статье генерация договоров и счетов из шаблона.
Шаблон и данные
Шаблон обычно рисует ваш дизайнер. Мне нужен макет в хорошем качестве и понимание, где стоят переменные поля. Имя, дата, номер, QR-код. Для каждого поля задаю шрифт, размер и правило для длинных значений.
Длинные имена и названия компаний ломают вёрстку чаще всего. Поэтому заранее решаем, что делать. Уменьшать шрифт до заданного минимума, переносить на вторую строку или сокращать. Скрипт применяет правило сам, без ручной правки.
Данные берутся из таблицы. Это может быть выгрузка регистраций, список выпускников из учебной платформы или просто лист, который заполнил менеджер. Перед генерацией скрипт проверяет список. Пустые имена, дубли, лишние пробелы, латиница вперемешку с кириллицей. Проблемные строки выводятся отдельно, чтобы их поправили до печати.
Уникальный номер и QR-код
Каждому документу присваивается номер. Он может быть сквозным, с префиксом мероприятия или случайным, чтобы его нельзя было угадать. Номера записываются обратно в таблицу. Так у вас остаётся реестр: кому какой сертификат выдан.
QR-код ведёт на страницу проверки. Человек наводит камеру и видит, что сертификат с таким номером действительно выдан, на чьё имя и до какого числа действует. Для подарочных сертификатов там же видно, погашен он или нет.
В QR не стоит зашивать личные данные напрямую. Лучше короткую ссылку с номером, а всё остальное хранить на вашей стороне. Тогда при утере сертификата его можно просто отметить недействительным.
Если в таблице есть имена, телефоны или почта, это персональные данные. Файл с ними не стоит держать в открытом доступе по ссылке. Страница проверки показывает только то, что нужно для подтверждения, а полный список видят те, кто с ним работает.
Форматы результата
| Что генерируем | Откуда данные | Формат результата |
|---|---|---|
| Бейджи участников | Выгрузка регистраций, таблица | PDF на листах A4 с метками реза |
| Сертификаты об обучении | Список выпускников с учебной платформы | Отдельный PDF на каждого для рассылки |
| Грамоты и благодарности | Таблица, заполненная вручную | PDF для печати, по одному на страницу |
| Подарочные сертификаты | Таблица с номиналом и сроком | PDF с номером и QR, реестр в таблице |
| QR-коды для акции | Список кодов или генерация на лету | Картинки PNG и лист для печати |
Для печати бейджи раскладываются на лист, сколько помещается, с полями под обрез. Для рассылки каждый документ сохраняется в свой файл с понятным именем, например фамилия и номер. Эти файлы можно сразу отправить письмом или через бот.
Печать на листах
Типография или офисный принтер задают свои требования. Размер листа, поля, вылеты, цветовой профиль. Их лучше узнать заранее и сверяться с актуальными требованиями конкретной типографии. Я настраиваю раскладку под них.
Перед большим тиражом делаем пробный лист. Проверяем, что имена не упираются в край, QR читается телефоном, а бейдж попадает в карман держателя. Только после этого генерируем всё.
Если после печати выяснилось, что кого-то забыли, не нужно переделывать тираж. Добавляете строку в таблицу, запускаете скрипт, получаете один новый файл с продолжением нумерации.
Как это выглядит, когда настроено
За день до мероприятия менеджер закрывает регистрацию и выгружает список в таблицу. Нажимает запуск. Через пару минут в папке лежит PDF с бейджами на листах и отчёт: две строки без компании, одно имя повторяется. Менеджер поправляет их и запускает ещё раз.
После мероприятия тот же список с отметкой о присутствии идёт в генерацию сертификатов. Каждый участник получает письмо со своим файлом. Через месяц работодатель участника сканирует QR и видит, что сертификат настоящий. Никто в команде не открывал графический редактор.
Как заказать такую задачу
Пришлите макет или пример документа, который вы делаете сейчас. Добавьте пример таблицы с данными, можно с вымышленными именами. Напишите, сколько документов бывает за раз, нужен ли QR и проверка подлинности, как документы доходят до людей.
Я оцениваю объём и срок, затем настраиваю шаблон и скрипт. Генерирую пробную партию на ваших данных, вы проверяете на экране и на печати. Передаю скрипт, инструкцию, как запускать и менять шаблон, и доступы к странице проверки. После сдачи есть гарантийный срок на исправление ошибок в моей работе.
Если мероприятие одно или шаблон меняется раз в год, это разовая задача. Если курсы и события идут постоянно, а шаблоны часто обновляются, удобнее абонентка. Формат разовых работ описан на странице разовые задачи: скрипты, парсеры, выгрузки.
Частые вопросы
Можно ли сделать шаблон в Canva или Figma?
Да. Мне нужен экспорт фона и координаты полей. Дальше скрипт работает без редактора.
Сколько документов можно сделать за раз?
Сотни и тысячи. Время зависит от сложности шаблона, но это минуты, а не дни.
Нужен ли сайт для проверки по QR?
Нужна одна простая страница. Её можно разместить на вашем сайте или на отдельном адресе.
Что делать, если в имени ошибка после рассылки?
Исправить строку, перегенерировать один файл с тем же номером и отправить заново. Реестр обновится.
Можно ли погашать подарочные сертификаты по QR?
Да. Кассир сканирует код и отмечает погашение. Повторно сертификат уже не примут.
Коротко о главном
Массовая генерация заменяет ручную вёрстку бейджей, сертификатов и грамот. Шаблон делается один раз, а данные берутся из таблицы, где одна строка равна одному документу.
Уникальный номер и QR дают реестр и проверку подлинности. Результат готов и для печати на листах, и для рассылки отдельными файлами. Ошибки в списке ловятся до печати.
Если перед каждым событием кто-то тратит вечер на имена в макете, пришлите пример документа и список. Скажу, как это автоматизировать. Напишите в Telegram, MAX или VK.
Небольшие задачи без большого проекта
- Парсеры, сверки и выгрузки в таблицы
- Скрипты, генераторы документов, обработка файлов
- Простые боты и напоминания в мессенджер
- Абонентка: мониторинг, поддержка, отчёты
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


