2010-03-02 5 views
3

J'ai installé TCPDF dans mon installation php cake et j'essaie maintenant d'utiliser aussi FPDI car j'ai besoin d'ajouter un PDF au début du PDF qui est généré.Utilisation de TCPDF et FPDI avec cake php

en essayant de le faire j'utilise 3 classes

XTCPDF qui détient mes données d'en-tête FPDI - classe FPDI TCPDF - TCPDF classe

et il est configuré comme ceci:

XTCPDF extends FPDI FPDI étend TCPDF

Lorsque j'essaie de générer un fichier PDF en utilisant les commandes des classes FPDI, j'obtiens l'erreur suivante:

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 

Im pensant que cela peut être un problème de portée, mais je ne suis pas trop sûr, je l'ai également testé en changeant autour de ne pas inclure la classe XTCPDF mais la même erreur se produit,

EDIT: Le code i je utilise la classe qui accède FPDI est:

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

Merci à l'avance pour toute aide: D

+0

L'erreur indique que vous essayez d'accéder à la variable membre '$ PDFVersion', mais que cela n'est pas autorisé. Postez le code où vous essayez d'utiliser cette valeur. – deceze

Répondre

3

Je ne sais pas comment vous avez ajouté le FPDI et TCPDF à votre application gâteau. J'ai eu quelques problèmes quand je faisais quelque chose de similaire. J'ai réalisé ce que vous devez faire est d'importer TCPDF puis FPDI, puis faire XTCPDF étendre FPDI.

Alors, dans mes dossier vendors J'ai aa fichier xtcpdf.php, qui ressemble à ce qui suit:

<?php 
App::import('Vendor','tcpdf/tcpdf'); 
App::import('Vendor','fpdi/fpdi'); 

class XTCPDF extends FPDI { 

function header() {} 
function footer() {} 

#other custom methods... 

?> 

Parce que FPDI étend déjà TCPDF vous permet d'accéder à TCPDF en incluant FPDI ...

J'ai remarqué que lorsque j'essayais d'utiliser StartTransaction, CommitTransaction et rollbackTransaction de TCPDF, cela provoquait des erreurs. Je n'ai pas trouvé pourquoi, mais j'aurais une erreur sur l'accès aux méthodes privées, (je pense, il y a un petit bout de temps j'ai essayé) de toute façon, tout le reste semble bien fonctionner.

+0

Merci, cela m'a vraiment aidé. – Tomba