首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOM/PDF错误-非静态方法Barryvdh\DomPDF\PDF::download()不应静态调用

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

Stack Overflow用户
提问于 2019-01-29 11:17:44
回答 2查看 9.6K关注 0票数 3

我的主计长是:

代码语言:javascript
复制
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');
    }
}

我的路线

代码语言:javascript
复制
Route::get('/print', 'PrintPDF@print');

当访问本地主机/打印时,我会得到一个错误

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

我遵循了他们网站上的安装说明。我试图更改我的控制器,添加DomPDF,而不是使用Barryvdh\DomPDF\Facade作为PDF;但是错误仍然存在。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-29 11:20:48

像这样进行函数调用

代码语言:javascript
复制
return $pdf->download('invoice.pdf');
票数 0
EN

Stack Overflow用户

发布于 2020-10-05 07:19:14

之所以会出现这种情况,是因为您使用错误的PDF类命名空间。您正在使用名称空间Barryvdh\DomPDF\PDF,并尝试将该类用作"Facade“,这是错误的。

要解决问题集命名空间到外观:

代码语言:javascript
复制
use Barryvdh\DomPDF\Facade as PDF;

函数应该是这样的

代码语言:javascript
复制
   $details =['title' => 'test'];
   $pdf = PDF::loadView('Your view path', $details);

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

代码语言:javascript
复制
   return $pdf->dowload('test.pdf');

或者可以保存在项目的特定目录中。

代码语言:javascript
复制
   return $pdf->save('path of your directory/filename.pdf');

这对我有用..。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54419860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档