繁体   English   中英

Laravel 5.1 - barryvdh / laravel-dompdf,PDF文件下载无法正常工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM