使用TCPDF和FPDI与蛋糕PHP

时间:2010-03-02 04:05:48

标签: php cakephp tcpdf fpdi

我已经在我的蛋糕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

1 个答案:

答案 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时,它会导致错误。我还没有发现为什么会这样,但是我会得到一个关于访问私有方法的错误,(我想,不久之前我试过了)无论如何,其他一切看起来都很棒。