我的laravel项目需要帮助。我使用Fpdi导入PDF但是当我在localhost上显示它时,我只有这样的unicode字符:
%PDF-1.4 3 0 obj<> endobj 4 0 obj<>流 xEK0D9,一:!IDH |4ⓠr|yaƗC * RY {98
L> |a )w endstream endobj 1 0 obj<> endobj 5 0 obj<>流x ]R n 0
这是我的代码:
use setasign\ Fpdi;
// initiate FPDI
$pdf = new Fpdi\ Fpdi();
// add a page
$pdf - > AddPage();
// set the source file
$pdf - > setSourceFile(storage_path("justificatif.pdf"));
// import page 1
$tplIdx = $pdf - > importPage(1);
// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf - > useImportedPage($tplIdx, 10, 10, 100);
// now write some text above the imported page
$pdf - > SetFont('Helvetica');
$pdf - > SetTextColor(255, 0, 0);
$pdf - > SetXY(30, 30);
$pdf - > Write(0, 'This is just a simple text');
$pdf - > Output();
我的路线:
Route::get('/testpdf', function() {
return view('layouts/essai');
});
为什么会发生这种情况以及如何解决这个问题?
答案 0 :(得分:0)
尝试像这样返回它 浏览器不知道响应的类型,除非您发送它,因此它不知道它应该显示pdf
...
return response($pdf->Output('S'))->withHeaders(['Content-Type' => 'application/pdf']);
来源文档 https://laravel.com/docs/5.6/responses#attaching-headers-to-responses