对于我的项目,我必须生成一个PDF文件。 Stackoverflow告诉我使用FPDF。所以,我按照教程,但似乎没有工作。
public function makePdf(Request $request){
require('fpdf181/fpdf.php');
$pdf = new FPDF('p', 'mm', 'A4');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
}
这完全遵循教程,但它不起作用。
我也尝试过这个:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
require('fpdf181/fpdf.php');
但是,我再次得到同样的错误。
改变这个:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
require('fpdf181/fpdf.php');
对此:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use FPDF;
因为PSR-4自动加载命名空间你不必明确地包含它。
如果您看到此错误,则不会发送正确的标头。
这样做会有所帮助:
$headers = array('Content-Type' => 'application/pdf');
return Response::make(PDF::load($html, 'A4', 'portrait')->show('my_pdf'), 200, $headers);
您收到错误是因为如果没有正确的标题,pdf无法在HTML页面中打开。