WKHTML + Windows + PHP

时间:2012-02-02 16:29:57

标签: php wkhtmltopdf

我从这里安装了wkhtml http://code.google.com/p/wkhtmltopdf/downloads/list(特别是Windows的wkhtmltox-0.11.0_rc1-installer.exe)。我从命令行调用了ir,它运行得很完美,但是当我尝试使用PHP exec或shell_exec函数调用它时,只有当wkhtmltopdf.exe位于我的php所在的同一目录中时它才有效。

所以,如果我这样做:

exec("wkhtmltopdf c:/wamp/www/test/pdf.html c:/wamp/www/test/pdf.pdf"); 

并且wkhtmltopdf文件位于c:/ wamp / www / test目录中,它完美无缺,但如果我这样做:

exec("C:/Program Files/wkhtmltopdf/wkhtmltopdf.exe c:/wamp/www/test/pdf.html c:/wamp/www/test/pdf.pdf");

根本不起作用。

你能帮帮我吗?即使它在另一个目录中,我也希望它能够正常工作。

感谢。

4 个答案:

答案 0 :(得分:5)

由于空间的原因,您必须将路径放在引号中。

exec('"C:/Program Files/wkhtmltopdf/wkhtmltopdf.exe" c:/wamp/www/test/pdf.html c:/wamp/www/test/pdf.pdf');

或者您可以将wkhtmltopdf目录添加到PATH变量。

答案 1 :(得分:2)

使用Snappy,可以更轻松地使用wkhtmltpdf生成pdf

答案 2 :(得分:0)

像这样改变你的exec编码。这对我有用。:)

exec("C:/Program Files/wkhtmltopdf/wkhtmltopdf.exe" c:/wamp/www/test/pdf.html "c:/wamp/www/test/pdf.pdf");

快乐编码...... :):)

答案 3 :(得分:0)

这对我有用:

exec('"C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe" "c:/wamp/www/catalogo_2.html" "c:/wamp/www/pdf.pdf"');