DOM / PDF错误-不应静态调用非静态方法Barryvdh \ DomPDF \ PDF :: download()

时间:2019-01-29 11:17:44

标签: laravel dompdf

我的控制器是这样的:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Barryvdh\DomPDF\Facade as PDF;
class PrintPDF extends Controller
{

    public function print(){
       $details =['title' => 'test'];
       $pdf = PDF::loadView('textDoc', $details);
       return $pdf::download('this.pdf');
    }
}

我的路线

Route::get('/print', 'PrintPDF@print');

访问localhost / print时出现错误

不应静态调用非静态方法Barryvdh \ DomPDF \ PDF :: download()

我按照他们网站上的安装说明进行操作。我试图通过添加使用PDF而不是使用Barryvdh \ DomPDF \ Facade作为PDF来更改控制器。但是错误仍然存​​在

3 个答案:

答案 0 :(得分:1)

之所以会发生这种情况,是因为您为错误的PDF类命名。 您正在为Barryvdh \ DomPDF \ PDF命名,并尝试将此类用作“外观”,这是错误的。

解决您的问题 将名称空间设置为外观:

use Barryvdh\DomPDF\Facade as PDF;

功能应该是这样的

   $details =['title' => 'test'];
   $pdf = PDF::loadView('Your view path', $details);

您可以使用下载方法直接下载

   return $pdf->dowload('test.pdf');

,或者您可以将其保存在项目的特定目录中

   return $pdf->save('path of your directory/filename.pdf');

这对我有用。...

答案 1 :(得分:0)

像这样进行函数调用

return $pdf->download('invoice.pdf');

答案 2 :(得分:0)

我有错字,谢谢Emeka Okafor