Skip to content

Инструмент для генерации персонализированных грамот на основе данных из Excel и шаблона Word. Идеально подходит для учителей, организаторов мероприятий или тех, кому нужно массово создавать грамоты.

Notifications You must be signed in to change notification settings

Ivadus/Certificate-generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Генератор грамот

Эта программа позволяет автоматически создавать персонализированные грамоты на основе данных из Excel и шаблона Word.

Программа удобна для генерации грамот для учеников, сотрудников или участников мероприятий.

Цель проекта

В работе педагогом приходится создавать огромное количество грамот.

Данная поделка помогает мне автоматизировать этот процесс, потому что загружать данные в эксельку мне намного легче, чем ручками в ворде делать каждую грамоту.

Функционал

  • Загрузка данных из Excel-файла.
  • Использование шаблона Word с заполнителями (например, {{Фамилия}}, {{Имя}}).
  • Генерация грамот в формате .docx и, опционально, .pdf.
  • Простой графический интерфейс для выбора файлов и запуска процесса.

Установка

  1. Скачайте проект или клонируйте репозиторий:

    git clone https://github.com/Ivadus/Certificate-generation
    cd Certificate-generation
    
  2. Создайте виртуальное окружение:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Установите зависимости:

    pip install -r requirements.txt
    

Зависимости

pandas — для чтения и обработки данных из Excel

python-docx — для работы с файлами Word

docx2pdf — для конвертации .docx в .pdf

Использование

Подготовка данных:

Создайте Excel-файл (например, spiski.xlsx) с колонками: Ученик, Имя ученика, Класс, Классный руководитель.

ИЛИ возьмите шаблон в папке examples

Создайте шаблон Word (например, shablon.docx) с заполнителями: {{Ученик}}, {{Имя}}, {{Класс}}, {{Фамилия}}.

ИЛИ возьмите шаблон в папке examples

Запуск программы:

В интерфейсе выберите:

Excel-файл с данными.

Шаблон Word.

Папку для сохранения.

Отметьте "Конвертировать в PDF", если это требуется

Нажмите "Запустить".

Настройка

Изменение заднего фона грамоты

  1. Откройте шаблон shablon.docx в Microsoft Word.

  2. Добавьте или измените фоновое изображение через меню "Дизайн" → "Фон страницы".

  3. Сохраните шаблон — изменения применятся при следующей генерации.

Настройка названий переменных

В 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"Грамота_{row[COLUMN_FAMILIYA]}_{row[COLUMN_IMYA]}_{index}.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 — пример шаблона.

Лиценция

Лицензия отсутствует

Известные проблемы

К сожалению, получается только создавать большое количество грамот. При попытке генерировать грамоты в один файл сбивается фоновое изображение или зависимости с экселем.

Если у вас получится это как-то решить, будет круто

About

Инструмент для генерации персонализированных грамот на основе данных из Excel и шаблона Word. Идеально подходит для учителей, организаторов мероприятий или тех, кому нужно массово создавать грамоты.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages