我正在制作一个在线考试网络应用程序。学生可以登录的地方,并且会有一个考试包。现在,数据包中已经有问题存储在数据库中,我已经将问题转换为HTML到PDF格式,并且可以下载。问题是,我如何能够将生成的PDF也上传到数据库?因为每个用户的问题都是随机的,我希望每个用户登录后都继续上一个考试包,所以它不会再次生成。
答案 0 :(得分:2)
如果您已经具有要包含在pdf中的数据的html模板,则无需将其存储在数据库中
第1步)下载安装此package composer require barryvdh/laravel-dompdf
第2步)在为laravel安装pdf软件包之后,我们必须对其进行配置。只是跟随小东西。对您的config/app.php
文件进行操作,并为providers数组和aliases数组设置以下值
'providers' => [
....
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
....
'PDF' => Barryvdh\DomPDF\Facade::class,
],
然后运行php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
步骤3)创建路线
Route::get('generate-pdf', 'PdfGenerateController@pdfview')->name('generate-pdf');
第4步)添加将视图下载为pdf的逻辑:
$pdf = App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream();
答案 1 :(得分:1)
由于您已经拥有PDF文件,因此可以执行以下操作,而不是将其上传到数据库(错误的方法):
asset('exams/'.$pdf_filename.'.pdf');
以显示/下载PDF。