Php Laravel 5:输出tFPDF
我想在Laravel 5.5中使用。我添加了带有composer的包,然后我尝试根据输出,但没有任何效果 我尝试将其直接输出到浏览器:Php Laravel 5:输出tFPDF,php,pdf,laravel-5,fpdf,Php,Pdf,Laravel 5,Fpdf,我想在Laravel 5.5中使用。我添加了带有composer的包,然后我尝试根据输出,但没有任何效果 我尝试将其直接输出到浏览器: Route::get('/test',function(){ $pdfLibrary = new tFPDF\PDF(); $pdfLibrary->AddPage(); $pdfLibrary->AddFont('DejaVuSansCondensed', '', 'DejaVuSansCondense
Route::get('/test',function(){
$pdfLibrary = new tFPDF\PDF();
$pdfLibrary->AddPage();
$pdfLibrary->AddFont('DejaVuSansCondensed', '', 'DejaVuSansCondensed.ttf', true);
$pdfLibrary->SetFont('DejaVuSansCondensed', '', 14);
$pdfLibrary->Write(8, 'Hallo!');
$pdfLibrary->output();
});
但是,屏幕上一片空白。当我尝试return$pdfLibrary->output()时代码>
然后它又回来了
%PDF-1.3 3 0 obj endobj 4 0 obj stream x�U�� �@s�)>+�P�.......
我还试图简单地将pdf保存到一个文件中,但是
$pdfLibrary->output('F', storage_path() . '/test.pdf');
不起作用
如何保存和输出tFPDF创建的PDF?我找到了另一个软件包,它就是我想要的。简单的tFPDF
packge,支持名称空间。这是开箱即用的,令人惊讶
我强烈建议使用SetASing包而不是包,因为DocNetUK包有很多怪癖。以下是我在使用DocNetUK软件包时遇到的一些问题:
输出返回原始二进制文件,请参见下面的如何使用它
重命名字体名称不起作用
方法tFPDF
已更改为\uu construct
,因此每次都必须在构造函数中调用parent::construct
,这是由于命名空间的缘故而必需的(请参阅)
变量名已随机更改,且没有文档:
$this->w
=>$this->flt\u current\u width
$this->h
=>$this->flt\u current\u height
这些更改使DocNetUK的版本基本上与所有附加组件不兼容
*过时的答案
我最终意识到,tFPDF的非官方composer版本稍微改变了输出
函数的行为。输出函数仅返回pdf内容,但不能将其保存到文件中,也不能直接在浏览器中呈现
这是如何在Laravel中将原始二进制文件显示为pdf
\Response::make($this->output(), 200, ['content-type'=>'application/pdf', 'Content-Disposition' => 'inline; temp.pdf']);
保存原始二进制文件的过程如下:
Storage::put('file.pdf', $pdfLibrary->output());
或文件内容
如果不使用Laravel