Бывает такое, что есть нормальная верстка, дизайн и тд, и нужно из этого сделать pdf…
И возникает вопрос: Как сделать pdf средствами php?
И сразу приходит на ум, mpdf, fpdf, и прочие, но никто не умеет толком работать с absolute(css) и с прочими плюшками css. Что же делать тогда?
Есть лайфхак)
На Ваш сервер нужно установить google-chrome, опустим момент установки google-chrome на сервер, благо в google информации много, и на Ваш дистрибутив установить не составит труда.
После установки, необходимо подготовить View, что должно быть в pdf, это может быть html, страница или генерируемая страница, важно, чтобы она была доступна по url, хотя бы для 127.0.0.1 😉
Команда заключается в следующем.
1 2 3 |
$command = 'google-chrome --no-sandbox --headless --disable-gpu --print-to-pdf="' . $pathToPdf . '" ' . $url; exec($command); |
Где:
$pathToPdf — Путь до файла, где создается наша pdf.
$url -Url , что заворачиваем в pdf (то есть HTML, наш исходник)
Пример:
1 |
$command = 'google-chrome --no-sandbox --headless --disable-gpu --print-to-pdf="/var/www/test/pdf/myPdfFile.pdf" https://google.com'; |