Как сгенерировать pdf из кастомного html (Django Templates), чтобы решение работало стабильно?
Ищу решение с поддержкой css3 и html5 для автоматической генерации красивых презентаций
Привет, коммьюнити!
Очень нужна ваша помощь в решении проблемы, над которой бьемся больше месяца.
Продуктовая задача бытовым языком
Сделать в админке сайта автоматический генератор красивых презентаций в pdf по шаблону с дизайном. Такой, чтобы юзер руками в админке собирал что-то вроде стратегии (последовательного набора определенных элементов), жал кнопку "Сгенерировать презентацию" и у него(нее) скачивался файлик pdf с красивой презентацией, где в каждый слайд нужным образом раздавались бы разнообразные данные: тексты, цифры, даты, заголовки и так далее, а в начале и в конце - красивые слайды со статичным неизменяющимся текстом.
В презентации есть следующие элементы:
- Нестандартный шрифт (подгружается файлом)
- Фоновые изображения
- Сложные css-стили
- Своеобразная верстка (несколько колонок, выравнивание элементов относительно друг друга, что-то типа инфографики в виде таймлайна/диаграммы Ганнта)
- Кликабельные ссылки на внешние сайты, которые формируются по определенному макросу.
Пробуем сделать функционал через wkhtmltopdf + pdfkit, но возникают сложности: расходится генерация на локалке и продакшене, иногда генерация ломается. Плюс эти библиотеки не поддерживают все нужные нам css-свойства, т.е. ее возможностей не хватает для наших задач. Хотя дизайн шаблона абсолютно не космический, скорее базовый.
Что пробовали
Отказались от pypdf и xhtml2pdf из-за ограниченности стилей.
Есть ли более стабильное решение с поддержкой css3 и html5? И вообще, что посоветуете для реализации такого сценария?
Наш стек - python3.9 + Django 3.
Будем очень благодарны за помощь и ваши советы!