Обновить
4K+
4
Виктор@Viteax

Backend разработчик

6
Рейтинг
3
Подписчики
Отправить сообщение

Код в Word без картинок: подсветка синтаксиса через python-docx и Pygments

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.7K

В прошлой статье мой генератор отчетов вставлял код в Word картинками, и первый же комментарий был: «Код рисунками – брр». Справедливо: такой код не скопировать, не найти поиском, а при печати он мылится.

Разобрался, как сделать правильно: листинги текстом с подсветкой синтаксиса, рамкой, заливкой и автонумерацией «Листинг N» через поля Word. Все на python-docx и Pygments, около ста строк. По пути – пара ловушек, о которых почти нигде не пишут: почему Word может не открыть документ из-за порядка XML-тегов и зачем задавать шрифт четыре раза.

Бонус – замеры: 30 листингов текстом собираются за 0,6 с против 4,1 с картинками, а файл получается в три раза легче.

Разобраться в деталях

«Отчет Creator»: генерирую отчеты по лабам со Stepik в Word на Python

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели3.1K

Смотришь на название дисциплины «Алгоритмы и структуры данных» и думаешь, что все будет супер. А потом выясняется: по каждому разделу курса на Stepik нужно сдать отчет с условиями задач, кодом и подписями – и все по ГОСТу. Один такой отчет съел у меня два часа, и я решил, что больше так не буду. Теперь он собирается за две секунды.

В статье – как я написал на Python генератор отчетов: забираю задачи и свои решения через API Stepik, а python-docx собирает готовый документ Word. Плюс обновление по вашим комментариям: код теперь вставляется текстом с подсветкой, а не картинкой.

Как это устроено

Информация

В рейтинге
1 041-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Веб-разработчик
Стажёр
От 110 000 ₽
Git
PostgreSQL
SQL
Python
Linux
Django
Docker
Redis
REST
RabbitMQ