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