按照说明安装crabbley / fpdf-laravel。尝试了一些示例代码,如下所示:
$pdf= app('FPDF');
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Swordsmen Class Times');
$pdf->Output();
尽管fpdf的实例化与教程中的示例不同,但所有工作均按预期进行,并且pdf显示在浏览器中。我从crabbley packagist.org/packages/crabbly/fpdf-laravel自述文件中的“用法”下获得了此工作示例。 “用法”指令还提供了另一种实例化方法,即:$pdf = new Crabbly\FPDF\FPDF;
本教程示例再次使用了一些稍有不同的内容,即
require('fpdf.php');
x=new FPDF();
,因此有些不同。当我将其更改为与教程相同时,我所做的只是
的实例化行。$pdf= app('FPDF');
到
$pdf = new FPDF('L', 'mm','A4');
,出现错误“找不到类'App \ Http \ Controllers \ FPDF'”。我不了解实例化的不同形式之间的区别,也不知道发生了什么,但是我需要后者的格式,以便可以设置页面方向等。我也尝试了如上所述的用法格式,但存在相同的错误,即找不到新的Crabbly \ FPDF \ FPDF。 我已经尝试过require语句,但是找不到FPDF,并且不确定将“ require”指向何处。
安装包括: 作曲家需要crabbly / fpdf-laravel 在提供程序部分中将Crabbly \ FPDF \ FpdfServiceProvider :: class添加到config / app.php
任何建议将不胜感激。
答案 0 :(得分:0)
您正在使用Laravel框架的实现,该实现将FPDF的实例绑定到服务容器。使用app('FPDF')
返回给您一个新的FPDF实例,该实例与new FPDF()
差不多。
require
的使用方式与框架无关,如果您仅使用普通的PHP脚本,则它将是使用FPDF的方式。虽然您也可以在Laravel中使用这种方式,但是为什么要这么做呢?
顺便说一句,require
不起作用的原因是,在您调用fpdf.php文件的位置找不到该文件。除非您为其指定路径,否则将需要坐在同一目录中。考虑到您是使用composer安装的,fpdf.php脚本(如果有)应该位于供应商目录中。
但是,只需使用服务容器即可。 $pdf = new FPDF('L', 'mm','A4');
行仅创建FPDF类的新实例,并通过将参数传递给构造函数来对其进行初始化,这些参数为“ L”(横向),“ mm”(度量单位)和“ A4”(页面)尺寸。在不知道要使用的程序包并对其进行测试的情况下,您也应该可以通过调用以下方法等效地设置它们:
$pdf = app('FPDF', ['L', 'mm', 'A4']);
希望有帮助!