laravel - Snappy pdf 在单页中显示内容
问题描述
我正在尝试使用来自 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",
但我不知道如何设置页面大小并将内容放在单页中。
谢谢,
解决方案
在一个旧答案中,有一个很好的解释,说明了如何将所有内容缩放并放入一个页面中,该答案wkhtmltopdf
是 Snappy PDF 的底层机器,请参见此处。这将帮助您详细了解将其设置为一页的机制。
要直接回答您的问题,在 snappy 中设置页面大小等选项只需将参数输入到您选择的方法中,如下所示:
$pdf = \PDF::loadView('index', $myVar)->setOption('margin', 5)->setOrientation('landscape')->setPaper('a4');
该界面虽然出色,但确实留下了一些猜测,以便在这些选项之间进行转换wkhtmltopdf
以及如何将这些选项输入 Snappy,但以上内容应该让您非常接近您想要去的地方。您可能需要查看wkhtmltopdf
选项,然后查看 Snappy 源代码以了解一些更不寻常的选项,但基础知识在上面的代码中。
推荐阅读
- python-3.x - 如果函数打印到标准输出的时间过长,则超时
- reactjs - head 标签在带有 next/head 的动态页面中不会改变
- python - 作为pypi包安装时browsermob-proxy的路径应该是什么
- imagemagick - ImageMagick将灰度tif转换为灰度png不起作用
- scala - 将带有行的 WrappedArray 列转换为带有行的 Dataframe
- migration - 在 GraphQL 中触发任务的惯用方式
- django - 如何在 ValidationError 中构造条件
- html - 我无法从我的 WP 网站上的表格中删除边框
- c# - Html.Action 或 Html.Partial 不适用于属性路由
- python - 为什么此图路线重复