Найти тему
SoftSAR

Как автоматизировать создание сертификатов и дипломов с помощью Python.

Нам часто приходится заполнять шаблоны сертификатов и дипломов, бланков и прочих документов. Данная операция занимает много времени и сил, постоянно повторяющиеся рутинные действия можно и нужно автоматизировать. В данной статье мы рассмотрим создание умного шаблона сертификатов и дипломов, а также об автоматизации процесса его заполнения на Python.

Мы создадим программу CertificateAuto, которая автоматически заполняет шаблоны презентаций: для сертификатов и дипломов, бланков отчетов и прочих документов, данными из файла Excel.

Знания и умения автоматизировать процессы заполнения шаблонных документов, позволят вам сэкономить время и силы, исключит ошибки при переносе данных из Excel таблицы.

Используемые инструменты: PowerPoint - для создания шаблона сертификатов и дипломов, Python, библиотеки PySide2- для создания графического интерфейса программы, Python-PPTX- для работы с файлами презентации, openpyxl - для получения данных из файла Excel.

1) Устанавливаем необходимые библиотеки через командную строку:

pip install python-pptx
pip install openpyxl
pip install PySide2

2) Создаем дизайн шаблона заполняемого документа.

3)Далее на фоновое изображение необходимо наложить текст, печать, факсимиле и другие элементы, которые будут оставаться неизменными. Используем для этого — MS PowerPoint.

4) Далее на шаблон необходимо в нужных местах, где мы будем подставлять данные, нужно написать текстовую переменную заключенную в фигурные скобки - {фио}, {баллы}, {дата}и так далее. Одно слово (на любом языке) и внутри {}.

-2

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

6) Импортируем необходимые библиотеки и модули в проект. Библиотеку pptx и модули этой библиотеки для работы с PowerPoint. Для чтения excel импортируем библиотеку openpyxl.

import openpyxl as op
from pptx import Presentation
import os

7) С помощью следующего блока программного кода читаем данные из Excel-листа в Python framework.

-3

8) Указываем место на локальном диске, в котором будет создана папка для наших наградных электронных документов, в переменной self.path_save храниться путь к папке к созданным документам

-4

9) Создаем функцию, c помощью которой обратим pptx-файл в pdf-файл.

-5

10) Заполняем информацию по занятым местам:

-6

11) Итоговый продукт выглядит следующим образом.

-7

12) Для удобства работы со скриптом создадим графический интерфейс к программе используя библиотеку PySide2 и Qt дизайнер.

13) Импортируем необходимые библиотеки и модули в проект.

import sys
from PySide2 import QtGui, QtWidgets
from PySide2.QtWidgets import QFileDialog, QMessageBox
from PySide2.QtCore import QCoreApplication

14) Открываем Qt дизайнер и создаем новый проект.

-8

15) На форме размещаем элементы управления текстовые поля, кнопки, Checkbox. В итоге получаем следующий дизайн программы:

-9

16) Сохраняем макет программы в формате .ui

17) Конвертируем файл .ui в файл .py. Открываем командную строку и пишем команду:

pyside_uic "Путь к файлу.ui"-x -o "Путь к файлу.py"

18) Полученный файл .py импортируем в проект

from certificate_form import Ui_MainWindow

C уважением, Карян Армен.
Занимаюсь разработкой прикладных программ.
email SoftSAR@yandex.ru
Telegram @SoftSar_am