Отказываемся от wkhtmltopdf: как мы искали решение для генерации нетривиальных PDF
wkhtmltopdf долгое время был одним из основных инструментов для генерации PDF из HTML. Мы столкнулись с ним на собственном проекте, но, когда потребовалось реализовать сложные макеты, колонтитулы и повторяющиеся заголовки в многостраничных документах — возникли проблемы.
В этой статье — краткий обзор альтернатив (Headless Chrome, Puppeteer, Playwright, WeasyPrint, Gotenberg), их плюсы и минусы, а также наш итоговый выбор и подводные камни, которые всплыли в процессе внедрения.
Введение
Одним из наших проектов является разработка корпоративной информационной системы для автоматизации сложных операционных бизнес-процессов. Продукт предназначен для стандартизации, повышения прозрачности и значительного ускорения процессов планирования, выполнения и расчета стоимости услуг.
Одной из подсистем является модуль для создания и согласования документов на основе заявок в понятных конечному заказчику терминах. Модуль представляет собой комплексную форму с большим количеством секций. Секции же состоят уже из конкретных полей с разными типами данных и вариантами их отображения. В конечном итоге, после заполнения всей формы, сформируется PDF файл для последующей печати, который отображает всю введенную информацию.
Читать далее