我已经按照https://github.com/barryvdh/laravel-snappy上的说明安装了laravel-snappy
在安装之后,我测试了wkhtmltopdf,它工作正常:
vagrant@homestead:/usr/local/bin$ /usr/local/bin/wkhtmltopdf google.com /tmp/google.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done我可以确认pdf是否存在:
vagrant@homestead:/tmp$ ls
google.pdf以下是snappy.php文件的内容:
return array(
'pdf' => array(
'enabled' => true,
'binary' => '/usr/local/bin/wkhtmltopdf',
'timeout' => false,
'options' => array(),
'env' => array(),
),
'image' => array(
'enabled' => true,
'binary' => '/usr/local/bin/wkhtmltoimage',
'timeout' => false,
'options' => array(),
'env' => array(),
),
);然而,当我在我的控制器中运行它时,什么也没有发生。未生成错误消息和文件:
function pdfreport($id)
{
$html = '<h1>hi</h1>';
$pdf = PDF::loadHTML($html)->setPaper('a4')->setOrientation('portrait');
return $pdf->download('test.pdf');
}我还以为pdf会开始下载呢。可能的问题是什么?
发布于 2017-07-28 09:33:53
我通过安装没有laravel包装器的snappy实现了这一点。然后简单地这样做:
use Knp\Snappy\Pdf;
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');
echo $snappy->getOutput('http://www.github.com');可能是laravel包装器有问题。
https://stackoverflow.com/questions/45361149
复制相似问题