我正在尝试使用barryvdh/laravel-dompdf
包在我的应用程序中生成PDF报告,但出现错误:
未找到“ PDF”类
我已经按照先前回答中的步骤处理了类似的问题,但是它们似乎并没有帮助我。
我在composer.json文件中添加了以下几行:
"barryvdh/laravel-dompdf": "^0.8.0",
"dompdf/dompdf": "0.8.0 as 0.6.2"
然后,我运行了composer update
。之后,我在config/app.php
中加入了以下几行:
Barryvdh\DomPDF\ServiceProvider::class,
'PDF' => Barryvdh\DomPDF\Facade::class,
最后,我在终端中运行了以下命令:
php artisan cache:clear
php artisan config:cache
控制器
Use PDF;
$pdf = PDF::loadView('app.feestdreportprint',compact('datas','rdata','stdinfo','institute'));
return $pdf->stream('student-Payments.pdf');
但是我仍然遇到相同的错误。我该怎么做才能解决这个问题?我的Laravel版本是5.4
。
答案 0 :(得分:0)
请检查您是否放置
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
作为app.php的别名
我正在使用其他库,也许您也可以使用它。
Composer要求:
"barryvdh/laravel-dompdf": "^0.8.1",
"barryvdh/laravel-snappy": "^0.4.0",
Provider: Barryvdh\Snappy\ServiceProvider::class,
Alias: 'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
在控制器中:
use Barryvdh\DomPDF\PDF;
例如。
$pdf = App::make('snappy.pdf.wrapper');
$view = View::make('view::quote.pdf',['data' => $data]);
$pdf->loadHtml($view)->save($file);
答案 1 :(得分:0)
首先,您必须将这些行放在config/app.php
中。
'providers' => [Barryvdh\DomPDF\ServiceProvider::class],
和
'aliases' => ['PDF' => Barryvdh\DomPDF\Facade::class]
然后您必须在函数中使用它,对我来说完全有用 例子
$pdf = PDF::loadView('admin/order_pdf',compact('order_item','order','total_qty','total_ltr','total_weight'));
$pdf->save(storage_path().'_filename.pdf');
return $pdf->download('customers.pdf');