我从这里安装了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");
根本不起作用。
你能帮帮我吗?即使它在另一个目录中,我也希望它能够正常工作。感谢。
答案 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"');