Php Laravel 5:输出tFPDF

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

我想在Laravel 5.5中使用。我添加了带有composer的包,然后我尝试根据输出,但没有任何效果

我尝试将其直接输出到浏览器:

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