我尝试做的是将页面传递给dompdf以进行渲染,但渲染页面的按钮位于页面本身。
页面(index.blade.php)
<div class="event-links">
<div class="panel panel-default">
<!-- <a href="{{ URL::to('/events/create') }}"> -->
<a href="{{ action('StrawdogController@pdfgen')}}">
<div class="panel-heading">Generate PDF</div>
</a>
</div>
</div>
<div class="nametag-layout">
<table class="table table-striped pagin-table table-bordered">
<thead>
<tr>
<td>Mod Start Time</td>
<td>Mod End Time</td>
<td>Mod Description</td>
</tr>
</thead>
<tbody>
@foreach($mods as $key => $value)
<tr>
<td>{{ $value->mod_description }}</td>
<td>{{ $value->mod_start_time }}</td>
<td>{{ $value->mod_end_time }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
和Controller功能(占位符)
public function pdfgen()
{
$dompdf = new Dompdf();
$dompdf->loadView('strawdogs.index');
$dompdf->render();
$dompdf->stream();
}
}
我的页面上有一个名为&#39; Generate PDF&#39;我希望用户能够按下它并获取位于同一页面上的表格的PDF。目前,我已经尝试了,如果你打电话给另一个页面,我可以看到它传递了值,但它似乎并没有在同一页面上进行。
基本上,有没有办法在同一页面上调用dompdf,如果有,我该怎么做?
答案 0 :(得分:0)
在您的控制器上,您必须调用view方法并使用compact发送变量,然后使用loadHtml()并将view方法作为参数传递。
$options = new Options();
$options->set('defaultFont', 'DejaVu Sans');
$dompdf = new Dompdf($options);
// instantiate and use the dompdf class
$html = view('pages.callsheet_view', compact(['request'],['number_of_no']));
$dompdf->loadHtml($html,'UTF-8');
$dompdf->render();
$dompdf->stream();
答案 1 :(得分:0)
您可以在不使用渲染按钮的情况下创建新视图(pdf.blade.php)。 单击index.blade.php上的render按钮时,从pdf.blade.php生成pdf。
PDF页面(pdf.blade.php)
<div class="nametag-layout">
<table class="table table-striped pagin-table table-bordered">
<thead>
<tr>
<td>Mod Start Time</td>
<td>Mod End Time</td>
<td>Mod Description</td>
</tr>
</thead>
<tbody>
@foreach($mods as $key => $value)
<tr>
<td>{{ $value->mod_description }}</td>
<td>{{ $value->mod_start_time }}</td>
<td>{{ $value->mod_end_time }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
和Controller功能(占位符)
public function pdfgen()
{
$dompdf = new Dompdf();
$dompdf->loadView('strawdogs.pdf');
$dompdf->render();
$dompdf->stream();
}
答案 2 :(得分:0)
PDF::loadView('x.blade.php')->output();