Как автоматизировать создание дипломов / сертификатов
Нашёл две темы на vc.ru про автоматизацию этого дела, не одна из них мне не подошла. Хотелось сделать свой мини - сервис.
Задача:
Детский кружок по выпуску выдает сертификаты об окончании , нужно было вручную на каждом сертификате прописывать ФИО. Так как существует шесть программ обучения, четыре из которых рассчитаны на 36 часов, две на 144, такая задача систематически появляется на пути и забирала много человеко-часов.
Решение:
Создание Телеграм бота с интеграцией Гугл таблицы, для быстрого заполнения данных с последующей выгрузкой на Яндекс Диск и отправкой пользователю.
Почему не использовать готовое решение ?
Банально, организация является бюджетной, а платить из своего кармана за каждый сертификат не хотелось.
Реализация решения:
Для разработки был выбран язык python, так как считаю его идеальным для такой задачи. Там есть все необходимые мне библиотеки.
Используемые библиотеки:
pandas - обработка таблицы
yadisk - для загрузки и получения ссылки на Яндекс Диск
pillow - работа с изображением
telebot - для создания Телеграм бота (для данной задачи и в таких условиях вполне подходит ( посчитал лишним использовать aiogram ).
Алгоритм был простой:
Администратор заполняет Гугл таблицу ( список поступающих есть всегда в текстовом виде и с ним можно спокойно работать ). То есть нужно просто перенести ФИО в таблицу. Затем осуществляем переход в Телеграм, бот предлагает выбрать группу , берет данные из созданной нами таблицы, генерирует сертификаты и загружает их на Яндекс Диск в папку. Затем просто отдает ссылку на скачивание.
Я не стал использовать API Гугла, а просто прогрузил табличку для pandas простым способом :
import pandas as
pdsheet_id = “id таблицы"
sheet_name = “название вашего листа”
url = f”https://docs.google.com/spreadsheets/d/{sheet_id}/gviz/tq?tqx=out:csv&sheet={sheet_name}"
pd.read_csv(url)
Затем создал папку на Яндекс диске.
y.mkdir(f"{name_folder}")
name_folder - название папки ( запрашивается у пользователя)
y - переменная с инициализацией моего диска
Сам алгоритм создания дипломов, сохранение их и выгрузка на диск.
Переменной link присваивается ссылка, которая в последствии и отправляется администратору.
Если тема интересна аудитории, могу доработать и выложить полный код с объяснениями. С удовольствием послушаю советы по оптимизации.
Пример обработки запроса :