我已经在我的蛋糕php安装中进行了TCPDF设置,现在我正在尝试使用FPDI,因为我需要在正在生成的PDF的开头添加PDF。
尝试这样做时我正在使用3个课程
XTCPDF,它包含我的标题数据 FPDI - FPDI类 TCPDF - TCPDF类
,设置如下:
XTCPDF扩展了FPDI FPDI扩展了TCPDF
当我尝试使用来自teh FPDI类的命令生成PDF时,我收到以下错误:
Fatal error: Cannot access protected property XTCPDF::$PDFVersion in C:\Program Files\XAMPP\xampp\htdocs\quote\app\vendors\fpdi\fpdi_pdf_parser.php on line 388
我认为这可能是一个范围问题,但我不太确定,我也通过改变它来测试不包括XTCPDF类,但同样的错误发生,
编辑:我正在使用的访问FPDI类的代码是:
$tcpdf->setSourceFile(APP.'webroot'.DS.'img'.DS.'pdf'.DS.'front_cover.pdf');
$frontCover = $tcpdf->importPage(1);
$tcpdf->useTemplate($frontCover);
提前感谢您的帮助:D
答案 0 :(得分:3)
我不确定您是如何将FPDI和TCPDF添加到蛋糕应用程序中的。当我做类似的事情时,我遇到了一些问题。我意识到你需要做的是导入TCPDF然后导入FPDI,然后使XTCPDF扩展FPDI。
所以,在我的vendor文件夹中,我有一个xtcpdf.php文件,如下所示:
<?php
App::import('Vendor','tcpdf/tcpdf');
App::import('Vendor','fpdi/fpdi');
class XTCPDF extends FPDI {
function header() {}
function footer() {}
#other custom methods...
?>
因为FPDI已经扩展了TCPDF,所以您可以通过包含FPDI来获得对TCPDF的访问...
我注意到在尝试使用TCPDF的StartTransaction,CommitTransaction和rollbackTransaction时,它会导致错误。我还没有发现为什么会这样,但是我会得到一个关于访问私有方法的错误,(我想,不久之前我试过了)无论如何,其他一切看起来都很棒。