- 1
[Opened] TCPDF
Posted by Jihel on 03/12/2009 13:25
Bonjour à tous, et grand merci pour cet outil génial qu'est jelix !
Je m'attaque depuis peu à la génération de PDF pour les besoins de l'entreprise, via TCPDF inclus dans la 1.07, et je rencontre quelques déboires. Je voudrais surcharger TCPDF pour modifier les header et footer. J'ai donc créé une classe mypdf qui hérite de TCPDF, elle s'appelle 'mypdf.class.php' dans le répertoire classes du module appelant. je l'appelle comme suit :
$rep->initPdf(); // create new PDF document $rep->tcpdf = new mypdf(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
mais je reçois ce message :
Fatal error: Class 'mypdf' not found in C:\Wamp\www\jelix\rdc\modules\machine\controllers\pdf.classic.php on line 576
voici le code de la classe :
<?php class mypdf extends TCPDF { //Page header public function Header() { // Logo $this->Image(JELIX_APP_PATH.'www/jelix/design/images/rdc.jpg', 45, 45, 45); // Set font $this->SetFont('dejavusanscondensed', 'B', 20); // Move to the right $this->Cell(80); // Title $this->Cell(300, 100, 'Title', 0, 0, 'C'); // Line break $this->Ln(20); } // Page footer public function Footer() { // Position at 1.5 cm from bottom $this->SetY(-15); // Set font $this->SetFont('dejavusanscondensed', 'I', 8); // Page number $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, 0, 'C'); } } ?>
Je commets sûrement un oubli ou une erreur, j'avoue ne pas trouver et je compte sur votre aide efficace, sans vouloir abuser de votre précieux temps.
Je voudrais également ajouter une TOC au PDF généré, j'ai lu dans la doc TCPDF sur le site technik.com qu'il existait une méthode addTOC, mais lorsque je tente de l'utiliser, une erreur surgit me disant que cette méthode n'existe pas. Merci de bien vouloir m'éclairer sur la démarche à suivre. Je vous remercie vivement d'avance pour toute l'aide que vous voudrez bien m'accorder.
Cordialement Jihel
[Opened] Re: TCPDF
Posted by bballizlife on 03/12/2009 13:40
Tu n'as apparemment pas inclus ta classe myPdf dans ton controller. A la main avec un require/include ou via jClasses::inc() par exemple.
Ceci dit ta question ici montre que tu ne lis pas les messages d'erreurs. Ils ne sont pas là que pour faire peur ;)
N'importe comment c'est dans la doc
[Opened] Re: TCPDF
Posted by Julien on 03/12/2009 16:01
Hello,
si c'est une nouvelle appli, je te suggère de passer à la version 1.1.1 de Jelix, la version de TcPDF étant bien plus récente (la branche 1.0.x de Jelix est surtout maintenue au niveau sécu/bugs, pas de nouvelles fonctions). Tu auras ainsi la fonction addTOC ainsi que le bénéfice d'autres changements plus ou moins importants que l'on a fait sur jTcpdf & co.
sinon, pour myPdf, effectivement comme le dit bballizlife, il faut l'inclure avec jClasses :
jClasses::inc('myModule~myPdf');
et placer ta classe dans le fichier myModule/classes/myPdf.class.php
Julien
- 1