GitHub — Ivadus/Certificate-generation: Инструмент для генерации персонализированных грамот на основе данных из Excel и шаблона Word. Идеально подходит для учителей, организаторов мероприятий или тех, кому нужно массово создавать грамоты. · GitHub
Оглавление
ToggleSaved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
Resetting focus
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Ivadus/Certificate-generation
Go to file
Open more actions menu
Folders and files
Last commit message
Last commit date
Latest commit
History
View all files
Repository files navigation
Генератор грамот
Эта программа позволяет автоматически создавать персонализированные грамоты на основе данных из Excel и шаблона Word.
Программа удобна для генерации грамот для учеников, сотрудников или участников мероприятий.
Цель проекта
В работе педагогом приходится создавать огромное количество грамот.
Данная поделка помогает мне автоматизировать этот процесс, потому что загружать данные в эксельку мне намного легче, чем ручками в ворде делать каждую грамоту.
Функционал
- Загрузка данных из Excel-файла.
- Использование шаблона Word с заполнителями (например, > , > ).
- Генерация грамот в формате .docx и, опционально, .pdf .
- Простой графический интерфейс для выбора файлов и запуска процесса.
Установка
- Скачайте проект или клонируйте репозиторий:
git clone https://github.com/Ivadus/Certificate-generation cd Certificate-generation
python3 -m venv venv source venv/bin/activate
pip install -r requirements.txt
Зависимости
pandas — для чтения и обработки данных из Excel
python-docx — для работы с файлами Word
docx2pdf — для конвертации .docx в .pdf
Использование
Подготовка данных:
Создайте Excel-файл (например, spiski.xlsx) с колонками: Ученик, Имя ученика, Класс, Классный руководитель.
ИЛИ возьмите шаблон в папке examples
Создайте шаблон Word (например, shablon.docx) с заполнителями: >, >, >, >.
ИЛИ возьмите шаблон в папке examples
Запуск программы:
В интерфейсе выберите:
Excel-файл с данными.
Папку для сохранения.
Отметьте «Конвертировать в PDF», если это требуется
Настройка
Изменение заднего фона грамоты
- Откройте шаблон shablon.docx в Microsoft Word.
- Добавьте или измените фоновое изображение через меню «Дизайн» → «Фон страницы».
- Сохраните шаблон — изменения применятся при следующей генерации.
Настройка названий переменных
В main.py в начале файла (строки 13-16) определены константы, которые задают соответствие между столбцами Excel и заполнителями в шаблоне Word, а также используются для формирования имён файлов:
COLUMN_FAMILIYA = 'Фамилия ученика' COLUMN_IMYA = 'Имя ученика' COLUMN_KLASS = 'Класс' COLUMN_KL_RUK = 'Классный руководитель'
Эти константы применяются в словаре replacements (строка 55) и в именах файлов (строки 67 и 71):
replacements = < replacements = < '>': str(row[COLUMN_FAMILIYA]), '>': str(row[COLUMN_IMYA]), '>': str(row[COLUMN_KLASS]), '>': str(row[COLUMN_KL_RUK]) > output_file_docx = os.path.join(output_dir, f"Грамота___.docx") >
Чтобы изменить названия:
Обновите константы в коде:
Откройте main.py и измените значения констант. Например, если в Excel столбец называется «ФИО» вместо «Фамилия ученика»:
COLUMN_FAMILIYA = 'ФИО'
Обновите заполнители в шаблоне Word (если нужно):
Если вы меняете > на >, откройте shablon.docx и замените заполнитель.
Затем в replacements измените ключ:
'>': str(row[COLUMN_FAMILIYA]),
Убедитесь, что имена столбцов в Excel совпадают с константами
Например, если COLUMN_FAMILIYA = ‘ФИО’, то в Excel столбец должен называться «ФИО».
Взаимосвязь изменений
Excel: Переименование столбца требует обновления соответствующей константы в main.py (например, COLUMN_FAMILIYA).
Шаблон Word: Изменение заполнителей (например, > → >) требует такого же изменения ключа в replacements.
Код: Изменения констант автоматически применяются к replacements и именам файлов, но ключи в replacements нужно обновлять вручную, если меняются заполнители в шаблоне.у.
Примеры
В папке examples/:
spiski.xlsx — пример данных.
shablon.docx — пример шаблона.


