Как сгенерировать pdf из кастомного html (Django Templates), чтобы решение работало стабильно?

Ищу решение с поддержкой css3 и html5 для автоматической генерации красивых презентаций

Привет, коммьюнити!

Очень нужна ваша помощь в решении проблемы, над которой бьемся больше месяца.

Продуктовая задача бытовым языком

Сделать в админке сайта автоматический генератор красивых презентаций в pdf по шаблону с дизайном. Такой, чтобы юзер руками в админке собирал что-то вроде стратегии (последовательного набора определенных элементов), жал кнопку "Сгенерировать презентацию" и у него(нее) скачивался файлик pdf с красивой презентацией, где в каждый слайд нужным образом раздавались бы разнообразные данные: тексты, цифры, даты, заголовки и так далее, а в начале и в конце - красивые слайды со статичным неизменяющимся текстом.

В презентации есть следующие элементы:

  1. Нестандартный шрифт (подгружается файлом)
  2. Фоновые изображения
  3. Сложные css-стили
  4. Своеобразная верстка (несколько колонок, выравнивание элементов относительно друг друга, что-то типа инфографики в виде таймлайна/диаграммы Ганнта)
  5. Кликабельные ссылки на внешние сайты, которые формируются по определенному макросу.

Пробуем сделать функционал через wkhtmltopdf + pdfkit, но возникают сложности: расходится генерация на локалке и продакшене, иногда генерация ломается. Плюс эти библиотеки не поддерживают все нужные нам css-свойства, т.е. ее возможностей не хватает для наших задач. Хотя дизайн шаблона абсолютно не космический, скорее базовый.

Что пробовали

Отказались от pypdf и xhtml2pdf из-за ограниченности стилей.

Есть ли более стабильное решение с поддержкой css3 и html5? И вообще, что посоветуете для реализации такого сценария?

Наш стек - python3.9 + Django 3.

Будем очень благодарны за помощь и ваши советы!


Ответы (0 шт):