Snappy pdf在单个页面中显示内容

时间:2019-07-03 01:24:07

标签: laravel pdf snappy

我正在尝试使用barrvdh中的Snappy PDF从HTML代码制作和下载PDF文件。 这是我的代码

public function example()
{
    $pdf = \PDF::loadView('index');
    return $pdf->download('test.pdf');
}

像标题一样,当用户单击按钮下载pdf时,我只想将所有内容放在一页中并将页面大小设置为A3。 使用dompdf,我可以在dompdf.php中轻松设置页面大小,如下所示:

"default_paper_size" => "a4",

但是我不知道如何设置页面大小以及如何使用快照将内容放到单个页面中。
谢谢,

1 个答案:

答案 0 :(得分:0)

有一个很好的解释,说明如何在wkhtmltopdf(这是Snappy PDF seen here的基础计算机)的旧答案中将所有内容缩放并适合到一页中。这将帮助您详细了解将其设置为一页的机制。

要直接回答您的问题,在快照中设置诸如页面大小之类的选项只是在您选择的方法中输入参数,如下所示:

$pdf = \PDF::loadView('index', $myVar)->setOption('margin', 5)->setOrientation('landscape')->setPaper('a4');

该界面虽然很出色,但确实在wkhtmltopdf以及如何将这些选项转换为Snappy之间进行转换时留下了一些猜测,但是上面的内容应该使您非常接近想要去的地方。您可能需要检查wkhtmltopdf选项,然后查看Snappy源代码中一些更不寻常的代码,但是基本内容在上面的代码中。