【问题标题】:wkhtmltopdf not converting html to pdfwkhtmltopdf 没有将 html 转换为 pdf
【发布时间】:2016-03-31 07:19:25
【问题描述】:

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。

希望我能解决这个问题。

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

【问题讨论】:

  • 是的,您可以更改文件名 - 使用 file_get_contents() 下载文件并将其保存到具有简单名称的文件中。然后,您可以毫无困难地运行 exec 命令。

标签: php wkhtmltopdf


【解决方案1】:

这里有两个问题:

  1. 第二个网址实际上是无效的。你还记得那句话吗? “垃圾进垃圾出”?括号不在 URL 中允许的字符中,您必须将它们转义以形成有效的 URL:

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

  2. 您必须考虑到您以这种方式执行的命令将被exec() 调用调用的shell 解释。 Shell 解释它们处理的输入,尤其是控制字符。因此,您可能必须在 URL 参数周围加上引号字符或转义一些字符才能使事情正常进行。

【讨论】:

  • 是的,它的工作。谢谢你提醒我一件基本的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2017-12-24
  • 2011-04-26
  • 1970-01-01
相关资源
最近更新 更多