3

我已经在我的 cake php 安装中进行了 TCPDF 设置,现在我也尝试使用 FPDI,因为我需要将 PDF 添加到正在生成的 PDF 的开头。

当试图这样做时,我正在使用 3 个类

XTCPD 保存我的标题数据 FPDI - FPDI 类 TCPDF - TCPDF 类

它是这样设置的:

XTCPDF 扩展 FPDI FPDI 扩展 TCPDF

当我尝试使用 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

我认为这可能是一个范围问题,但我不太确定,我也通过将其更改为不包含 XTCPD 类进行了测试,但发生了同样的错误,

编辑:我使用的访问 FPDI 类的代码是:

    $tcpdf->setSourceFile(APP.'webroot'.DS.'img'.DS.'pdf'.DS.'front_cover.pdf');
$frontCover = $tcpdf->importPage(1); 
$tcpdf->useTemplate($frontCover);

在此先感谢您的帮助:D

4

1 回答 1

3

我不确定你是如何将 FPDI 和 TCPDF 添加到你的蛋糕应用程序中的。当我做类似的事情时,我遇到了一些问题。我意识到您需要做的是先导入 TCPDF,然后再导入 FPDI,然后让 XTCPDF 扩展 FPDI。

因此,在我的供应商文件夹中,我有一个 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 的 StartTransaction、CommitTransaction 和 rollbackTransaction 时,它会导致错误。我还没有发现为什么会这样,但是我会在访问私有方法时遇到错误,(我想,这是不久前我尝试过的)无论如何,其他一切似乎都很好。

于 2010-03-26T11:23:53.210 回答