This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
staff:work_automation_ideas [2020/06/05 14:05] mark |
staff:work_automation_ideas [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 403: | Line 403: | ||
===== Автоматизация заполнения шаблонов документов ===== | ===== Автоматизация заполнения шаблонов документов ===== | ||
- | Цель - инструмент, который позволит автоматически заполнять шаблоны документов (doc, docx, odt, xlsx , pptx ....) данными из таблицы (каждая колонка - отдельное подставляемое поле, каждая строчка - новый документ). | + | Цель - инструмент, который позволит автоматически заполнять шаблоны документов (docx, odt, pptx, odp ....) данными из таблицы (каждая колонка - отдельное подставляемое поле, каждая строчка - новый документ). |
- | https://docxtpl.readthedocs.io/en/latest/ | + | Выходные данные: |
- | https://pypi.org/project/python-pptx-templater/ | + | * CSV-файл со значениями подстановок, |
- | https://pypi.org/project/pptx-template/ | + | * путь к шаблону в формате docx, odt, pptx, odp, |
+ | * текстовый шаблон именования файла. | ||
+ | |||
+ | Пример CSV-файла: | ||
+ | |||
+ | <code> | ||
+ | FirstName,LastName,Adress,City,State,ZIP-code | ||
+ | John,Doe,120 jefferson st.,Riverside, NJ, 08075 | ||
+ | Jack,McGinnis,220 hobo Av.,Phila, PA,09119 | ||
+ | "John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075 | ||
+ | Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234 | ||
+ | ,Blankman,,SomeTown, SD, 00298 | ||
+ | "Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123 | ||
+ | </code> | ||
+ | |||
+ | Соответственно, полями для подстановки являются: FirstName, LastName, Adress, City, State, ZIP-code. | ||
+ | |||
+ | В файле docx, odt, pptx, odp содержатся указанные выше поля подстановки в виде меток следующего вида: | ||
+ | |||
+ | <code> | ||
+ | {{ Adress }} | ||
+ | </code> | ||
+ | |||
+ | Текстовый шаблон именования файла содержит комбинацию полей подстановки: | ||
+ | |||
+ | <code> | ||
+ | {{ FirstName }}{{ LastName }}.docx | ||
+ | </code> | ||
+ | |||
+ | В результате работы должны появится 6 файлов, по одному для каждой строчки CSV файла. | ||
+ | |||
+ | |||
+ | Фреймворки: | ||
+ | |||
+ | * https://docxtpl.readthedocs.io/en/latest/ | ||
+ | * https://pypi.org/project/python-pptx-templater/ | ||
+ | * https://pypi.org/project/pptx-template/ | ||