【发布时间】:2018-04-26 09:37:41
【问题描述】:
我正在尝试使用 laravel 中的 tcpdf 编写将 html 刀片转换为 PDF 的代码。
这是我用来转换的控制器代码:
public function htmlToPDF()
{
$view=view('PdfDemo');
$html_content =$view->render();
PDF::SetTitle('Sample PDF');
PDF::AddPage();
PDF::writeHTML($html_content, true, false, true, false, '');
PDF::Output('SamplePDF.pdf');
}
当我将静态数据放在我的视图(PdfDemo)上时,一切都会成功运行,但问题是当我将带有一些变量的动态数据放在刀片中时,如下所示:
<table>
<?php $i=0?>
@if(count($names))
@foreach($names as $n)
<tr><td>
<label>Name{{$i}}:</label>{{$n}}</td>
<tr><td><hr></td></tr>
<?php $index = $index+1; ?>
@endforeach
@endif
</table>
这里的 $names 是控制器其他函数中 select 语句的结果,然后我将它传递给刀片,如下所示:
return view('PdfDemo',compact('names'));
在这种情况下,刀片完全符合我的要求,但是当我尝试转换为 PDF 时,它显示错误,$name 未定义。
【问题讨论】:
-
与问题无关,但在foreach使用
$index,这样你就不需要在刀片上调用php了。 -
你说得对,我会的