我正在使用php制作pdf文件。目前使用dompdf但对建议持开放态度。数据也将从数据库中检索。++ //引用Dompdf命名空间 使用Dompdf \ Dompdf;
我正在制作一个表单,其中我使用登录用户的用户名填充字段
每次制作PDF:(只是和示例)发现很难将php变量与html代码组合起来制作整个文档
$variable= Variable::findOrFail(session('id'));
$dompdf = new Dompdf();
$dompdf->loadHtml('$variable');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();
或者我应该制作一个我变成pdf的视图吗?
$pdf = PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');
答案 0 :(得分:0)
如果您的模板不包含JS及其功能,那么在视图中使用模板时,DomPDF是一个不错的选择。但是,(只是一个额外的信息),如果你的模板使用JS,例如:画一个电荷,元素动画,......,你应该wkhtmltopdf。
在将数据传递给视图之前,您正在使用的loadView方法将使用extract方法。此方法提取所有数组元素,并根据元素的键为它们创建变量。因此,当您传递像['a' => 'aVal']
这样的数组时,您可以在模板中使用$a
变量(将返回aVal
)。在您的情况下,使用$data = ['variable' => $variable]
是正确的方法。
并且,如果您想传递多变量:$data = ['var1' => $var1, 'var2' => $var2, etc]
。祝你好运!