我的控制器是这样的:
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来更改控制器。但是错误仍然存在
答案 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