laravel 从刀片生成 PDF
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/47687340/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
laravel generate PDF from blade
提问by Dkna
I am trying to download my page in pdf format and I have been following this tutorial step by step to do it. I tried using a sample data to do it and it work but when I try to use my own data it keep giving me undefined $data3, $object, ..
我正在尝试以 pdf 格式下载我的页面,并且我一直在按照本教程逐步进行操作。我尝试使用示例数据来完成它并且它工作但是当我尝试使用我自己的数据时它一直给我未定义的 $data3, $object, ..
But I have already defined them already in my controller already:
但是我已经在我的控制器中定义了它们:
testController
测试控制器
public function getTestdata($id){
$user = PersonalInfo::find($id);
$object = PersonalInfo::where('id',$id)->get();
$object1 = AdditionalInformation::where('user_id',$id)->get();
$data3=UserImage::where('user_id',$id)->get();
return view('test',compact('id','object','object1','user','data3'));
}
test.blade.php
测试刀片.php
<a href="{{ url('/pdf') }}">Download PDF</a>
...
<th>
@foreach($data3 as $currentUser)
<img src="{{ url('images/' . $currentUser->name ) }}">
@endforeach
</th>
...
@php
$userFamily = $user->userFamily;
@endphp
<tr>
<td><b>FAMILY Members</b></td>
<td>
@foreach($userFamily as $val)
@if($val["meta_key"] == "relationshiplist")
{{ $val["meta_value"] }} |
@endif
@endforeach
</td>
DownloadPDFController:
下载PDF控制器:
public function fun_pdf(){
$pdf = PDF::loadView('test'); //load view page
return $pdf->download('test.pdf'); // download pdf file
}
Route:
路线:
Route::get('/pdf', 'pdfDownloadController@fun_pdf');
Route::get('/user/showtest/{id}/test1', 'testController@getTestData')->name('template');
I also tried following this website to do but it does't seem to work as well, instead it gave me undefined $id. http://itsolutionstuff.com/post/laravel-5-generate-pdf-from-html-view-file-and-download-using-dompdfexample.html
我也试过按照这个网站去做,但它似乎不起作用,相反它给了我未定义的 $id。http://itsolutionstuff.com/post/laravel-5-generate-pdf-from-html-view-file-and-download-using-dompdfexample.html
If possible could you guys guide me on how to generate the PDF file
如果可能的话,你们能指导我如何生成 PDF 文件
回答by Rahul Reghunath
For this first, you should install Dompdf plugin https://github.com/barryvdh/laravel-dompdf
首先,您应该安装 Dompdf 插件https://github.com/barryvdh/laravel-dompdf
and everything else in its documentation
以及其文档中的所有其他内容
I think you should update the controller like this and pass id parameter, change the route also
我认为你应该像这样更新控制器并传递 id 参数,也改变路由
public function fun_pdf($id){
$user = PersonalInfo::find($id);
$object = PersonalInfo::where('id',$id)->get();
$object1 = AdditionalInformation::where('user_id',$id)->get();
$data3=UserImage::where('user_id',$id)->get();
$data =[
'id' => $id,
'object' => $object,
'object1' => $object1,
'user' => $user,
'data3' => $data3,
];
$pdf = PDF::loadView('test',$data); //load view page
return $pdf->download('test.pdf'); // download pdf file
}