【发布时间】:2014-03-10 12:00:50
【问题描述】:
我正在使用 wkhtmltopdf 自动生成 pdf 文件。我采用两种类型的输入,url 和 html。 url 类型很好,因为我只是通过命令传递 url。但是,您不能将 html 直接传递给 wkhtmltopdf。
我尝试做的是:
$tmp = tmpfile();
$data = stream_get_meta_data($tmp);
$file = $data['uri'];
fwrite($tmp, $html);
exec(sprintf('wkhtmltopdf %s %s', $file, 'data.pdf'));
这不起作用,因为临时文件在命令执行之前被删除(或者至少我认为这是发生的。)我能想到的唯一解决方法是在同一目录中创建我自己的临时文件,使用它然后在生成后将其删除。有什么方法可以让 tmpfile() 方法工作吗?
【问题讨论】:
-
至少在c#中可以将html流直接传递给wkhtmltopdf。无论如何,PHP
exec()是同步的,所以问题不存在。你能告诉我们你删除文件的代码吗?
标签: php shell command-line exec wkhtmltopdf