Заполняем PDF файлы с использованием Python: библиотека python-pptx
Нам часто приходится заполнять шаблоны, бланки и прочие документы. Если операция повторяется постоянно, то работу нужно автоматизировать. Сегодня расскажем о создании умного шаблона, а также об автоматизации процесса его заполнения.
Это может помочь, к примеру, в автоматизации заполнения шаблонов презентаций: для ежеквартальный отчетов, выступлений, текущих задач и новых идей.
С одной стороны, создание слайдов – это творческий процесс и при автоматизации пропадает индивидуальный подход и творчество. Но это нет так. Рутинную работу мы передаем роботу, а творчество используем в создании умного шаблона. Преимущества: исключаем ошибки при переносе информации из одного формата (Excel, Word) в другой и отказываемся от ручного процесса переноса.
Впервые автозаполнение слайдов в Power Point с помощью Python — мы использовали для подготовки наградных документов по результатам работы сотрудников за год. Так как номинаций было несколько – получился большой список сотрудников.
Поэтому хотим поделиться своим практическим опытом автоматизации этого процесса. Опираясь на него, вы также сможете создать свой умный шаблон для решения текущих задач.
- Какие инструменты использовали:Microsoft PowerPoint, Jupyter Notebook, MS Excel, Adobe Photoshop (или можно найти готовый шаблон в сети Интернет)
- Язык программирования: Python
1. Библиотеку для обработки файлов *.pptx устанавливаем через командную строку или Anaconda Prompt – pip install python-pptx
3. Далее на фоновое изображение необходимо наложить текст и другие элементы, которые будут оставаться неизменными. Используем для этого — MS PowerPoint.
4. Информацию по всем сотрудникам, заявленным к награждению, мы вносим в файл Excel (его же будем использовать как источник данных).
5. Используя инструмент интерактивной разработки Jupyter Notebook импортируем библиотеку pptx и модули этой библиотеки. Для чтения excel импортируем библиотеку xlrd.
6. С помощью следующего блока программного кода читаем данные из Excel-листа в Python framework.
7. Указываем место на локальном диске, в котором будет создана папка для наших наградных электронных документовlocalpath=’c:\\папка_1\\папка_2\\’
8. Создаем функцию, c помощью которой обратим pptx-файл в pdf-файл.
9. Соблюдаем правила орфографии и склонения с помощью следующего блока кода:
10. Заполняем информацию по занятым местам:
11. Теперь формируем текст для печати, устанавливаем отступы, задаем цвет текстовым слоям:
12. Затем формируем итоговые pdf-файлы (устанавливаем шрифт, цвет, размер)
Итоговый продукт выглядит следующим образом.