![](/img/trans.png)
[英]laravel 7 download pdf with barryvdh / laravel-dompdf
[英]Laravel 5.1 - barryvdh/laravel-dompdf, PDF file download not working properly
我使用composer安装了'barryvdh / laravel-dompdf'并添加了这些行
Barryvdh\DomPDF\ServiceProvider::class
'PDF'=> Barryvdh\DomPDF\Facade::class
'config'文件夹中的'app.php'文件,也创建了PdfController,就像这样
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App;
use PDF;
class PdfController extends Controller
{
public function invoice()
{
$pdf = App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream('testfile')
->header('Content-Type','application/pdf');
}
}
现在代码工作正常,内容以pdf格式显示在浏览器中,但是当我下载此文件时,该文件没有任何扩展名。我试图修改包含返回代码的行
return $pdf->stream('testfile.pdf')
->header('Content-Type','application/pdf');
但是现在,页面直接提供文件下载,名称'document.pdf'在下载时显示错误,(不要知道这个名称'document.pdf'来自何处)。 我也在使用localhost。
你想用pdf做什么? 要在浏览器中显示还是要下载到光盘? 这是下载pdf的示例
return $pdf->download('pdfName.pdf');
我的代码中的示例,其中我以pdf显示笔记本信息
$laptop = Notebook::findOrFail($id);
$data['laptop'] = $laptop;
$pdf = \PDF::loadView('pdf.detaljiLaptop', $data);
return $pdf->download($laptop->modelName.' Computers.pdf');
我遇到了同样的问题,在搜索完全没有结果后,我决定使用代码,这对我有用。
在config / app.php里面
- >在提供者下添加代码行,
'Barryvdh\DomPDF\ServiceProvider' not Barryvdh\DomPDF\ServiceProvider::class,
- >在别名下添加代码行,
'PDF' => 'Barryvdh\DomPDF\Facade' not 'PDF' => Barryvdh\DomPDF\Facade::class,
记住引号和逗号! 检查上面的图片,
- >在你的控制器中添加代码行,使用App;
希望你会很高兴....使用代码行进行测试。将它们置于控制器中的方法中。
$pdf = App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream();
成功后,您的浏览器将打开一个带有白色PDF并带有单词Test的PDF Viewer
干杯,享受你的编码;)
我用这个代码view()->share($data); $pdf = PDF::loadview('sale.pdf'); return $pdf->download('slip_out.pdf');
view()->share($data); $pdf = PDF::loadview('sale.pdf'); return $pdf->download('slip_out.pdf');
代替
return $pdf->stream('testfile.pdf')
->header('Content-Type','application/pdf');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.