【问题标题】:Using TCPDF and FPDI with cake php将 TCPDF 和 FPDI 与 cake php 一起使用
【发布时间】:2011-01-22 13:57:36
【问题描述】:

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

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

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

它是这样设置的:

XTCPPDF 扩展了 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

【问题讨论】:

  • 错误提示您正在尝试访问成员变量$PDFVersion,但这是不允许的。将代码发布到您尝试使用该值的位置。

标签: php cakephp tcpdf fpdi


【解决方案1】:

我不确定您是如何将 FPDI 和 TCPPDF 添加到您的蛋糕应用程序中的。当我做类似的事情时,我遇到了一些问题。我意识到你需要做的是导入 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...

我确实注意到,当尝试使用 TCPDF 的 StartTransaction、CommitTransaction 和 rollbackTransaction 时,它会导致错误。我还没有弄清楚为什么会这样,但是我会在访问私有方法时遇到错误,(我想,这是不久前我尝试过的)无论如何,其他一切似乎都很好。

【讨论】:

  • 谢谢,这对我很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
相关资源
最近更新 更多