Выполнить wkhtmltopdf из PHP
У меня это работает нормально из командной строки Linux:
запись wkhtmltopdf.вывод html.формат PDF
но из PHP-кода не работает следующее:
exec ('запись wkhtmltopdf.вывод html.pdf');
интересно, я погуглил и много непроверенных решений и без объяснения, почему это проблема. Спасибо, если у вас есть хорошие.
6 ответов
wkhtmltopdf и привязки, один из них для PHP. Ты можешь дать им шанс.
была та же проблема, и я не думаю, что кто-то еще должен тратить > 3 часа:
решение здесь: ошибка wkhtmltopdf в журнале apache
вам просто нужно установить xvfp "для эмуляции x-среды"
exec("xvfb-run -a wkhtmltopdf test.html output.pdf")
здесь PHP-оболочка вокруг wkhtmltopdf http://mikehaertl.github.com/phpwkhtmltopdf/ Очень просто
возможно wkhtmltopdf
не находится в переменной PATH для www-data.
whereis wkhtmltopdf
скажет вам, где находится двоичный файл; двоичные файлы обычно находятся в /usr/bin/...
on * nix машины. Тогда замените wkhtmltopdf
С например /usr/bin/wkhtmltopdf
в свою команду.
/usr/bin/wkhtmltopdf entry.html output.pdf
просто была эта проблема-простое решение в моем случае: я не понимал, что PHP находится в безопасном режиме. Выключен безопасный режим, и он работал нормально!
я боролся с той же проблемой.
мое решение на Windows 2008 R2
сервер PHP 5.4
:
exec('C:\inetpub\wwwroot\mywebsite\subdir\wkhtmltopdf input.html output.pdf');
и это было (после > 5 часов поиска в сети, включая это) новый файл под названием output.txt, переименовал его в output.pdf и дать пользователю " все " права на него.
это мои пробы:
exec(C:\inetpub\wwwroot\mywebsite\wkhtmltopdf );
echo(exec(wkhtmltopdf.exe cache.html output.pdf));
exec("xvfb-run -a wkhtmltopdf test.html output.pdf")
$execute = "xvfb-run -a wkhtmltopdf cache.html output.pdf";
$out = shell_exec("/path/to/wkhtmltopdf --version"); echo($out);
$out = passthru('/usr/local/bin/wkhtml2pdf
надеюсь, что они полезны для других