Доброго времени суток.
У меня возникла такая потребность генерировать PDF файл и отправлять его для скачивания пользователю с помощью PHP. У меня уже есть вёрстка страницы на HTML, теперь хотелось бы всё это с помощью какого-нибудь фреймворка представить в формате PDF. Требования примерно следующие: поддержка css файлов, поддержка таблиц, собственных шрифтов и плавающих элементов. Собственные шрифты и плавающие элементы - это колоссально важно, пока что ни один из опробованных мною фреймворков не смог показать нужный мне результат.
Элементы со свойством position: absolute|fixed;
Вообще эта статья первое, на что я наткнулся в поиске, но к ней я не нашёл нормальной документации, поэтому не смог прикрутить шрифты, элементы со свойством position тоже у меня пропали.
wkhtmltopdf или phantom.js. Делаете консольную команду, либо добавляете в очередь, либо просто в скрипте делаете exec и вуаля. Это самый цивильный вариант, который относительно стабильно работает.
Если я правильно понял, оба решения требуют установки ПО на сервер, а файлы PDF генерируют после обращения через URL к страницы, просто передать html-код в них не получится?
@ushim, в смысле? вы сохраняете из php html страницу, запускаете через exec скрипт, который эту страницу конвертит в pdf, удаляете если нужно html и отдаете его пользователю.
@Fesor, я, можно сказать, впервые работаю с FreeBSD, он у меня сейчас ругается на бинарники, текст ошибки мне приходит буквами "зю". Может быть они откомпилированы под Linux?
@ushim, мы используем CentOS - там есть бинарник. Если нету под FreeBSD - гугл в помощь, как откомпилировать.
ЗЫ: по опыту работы с этой либой, очень приятные ощущения, использовали в двух проектах.
Средствами PHP невозможно конвектировать HTML в PDF (!). Поэтому нужно использовать сторонние решения.
Так же:
- PDF можно формировать на основе шаблонов;
- Можно установить на клиенте doPDF и отдавать html-страницу (FF так подготавливает документы без багов).