wkhtmltopdf没有将html转换为pdf

时间:2016-03-31 07:19:25

标签: php wkhtmltopdf

wkhtmltopdf是一个开源(LGPLv3)命令行工具,用于将HTML呈现为PDF。您可以从here

找到有关wkhtmltopdf的更多信息 如果输入文件名有特殊字符,则

wkhtmltopdf无效。

让我举一个例子来清除scienerio

下面的代码工作正常

shell_exec('wkhtmltopdf http://example.com/docs/Export_import_data_masters.html test.pdf');

但如果url在文件名中有括号

,则代码下方不起作用
shell_exec('wkhtmltopdf http://example.com/docs/Export_(import_data)_masters.html test.pdf');

如果url在文件名中包含特殊字符,则无法从url创建pdf。

希望我能够澄清这个问题。

注意:文件链接由第三方提供,因此我无法更改文件名或文件路径。

1 个答案:

答案 0 :(得分:2)

这里有两个问题:

  1. 第二个网址实际上无效。你还记得这句话吗? "垃圾进入,垃​​圾进出"?括号不在URL中允许的字符中,您必须将它们转义为有效的URL:

    http://example.com/docs/Export_%28import_data%29_masters.html

  2. 您必须考虑以这种方式执行的命令将由exec()调用调用的shell解释。 Shell解释了它们处理的输入,特别是控制字符。因此,您可能必须在URL参数周围放置引号字符,或者转义某些字符以使其工作。