簡體   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