3

ケーキのphpインストールでTCPDFセットアップを実行しましたが、生成されているPDFの先頭にPDFを追加する必要があるため、FPDIも使用しようとしています。

これを行おうとすると、3つのクラスを使用します

ヘッダーデータを保持するXTCPDFFPDI-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

これはスコープの問題かもしれないと思っていますが、よくわかりません。XTCPDFクラスを含まないように変更してテストしましたが、同じエラーが発生します。

編集: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にアクセスできます...

TCPDFのStartTransaction、CommitTransaction、rollbackTransactionを使おうとすると、エラーが発生することに気づきました。理由はわかりませんが、プライベートメソッドへのアクセスでエラーが発生します(少し前に試したと思います)。とにかく、他のすべてはうまく機能しているようです。

于 2010-03-26T11:23:53.210 に答える