- 1
[Opened] Génération de PDF impossible
Posted by yamsuz on 10/01/2008 09:30
Bonjour,
Je suis débutant sur Jelix, j'ai fait un projet qui fonctionne super bien, mais j'aimerai bien aller plus loin pour mes autres projets.
J'ai essayé de me mettre à générer du PDF. Mais voila j'ai de gros soucis.
Je vais commencer par ma configuration : je tourne sur un XP Pro, j'ai installer easyPhp (la dernière version). Je fais les tests avec la version 1.1 de Jelix (mais j'avais le même problème avec la 1.0.5)
J'ai créé un projet de test pour générer des PDF.
Voici mon code : Dans le template j'appel une fonction du controleur (generepdf) J'ai mis un log à l'entrée de la fonction sans problème. J'ai mis le code fourni par la doc soit :
function generepdf() { $rep = $this->getResponse('tcpdf'); $rep->outputFileNam = "article.pdf"; $rep->doDownload = true; $rep->initPdf(); jLog::log("Init PDF Ok"); $rep->tcpdf->AddPage(); jLog::log("Add Page Ok"); $rep->tcpdf->SetTitle('un titre'); $rep->tcpdf->Text(10,10, 'un texte'); return $rep; }
J'ai bien copier les fonts dans le répertoire lib J'ai dans lib:
lib ->pdf-fonts ->le contenu des fonts
J'ai copié (car j'ai vu sur le forum) le contenu du répertoire old dans pdf-fonts.
En exécutant mon code, le code ne se termine pas et j'ai l'erreur suivante
[exception 0] Undefined font: h B C:\Web\ExtraCom\lib\jelix\utils\jTcpdf.class.php 40
il bloque sur l'instruction $rep->tcpdf->AddPage();
Avez-vous une idée ?
Merci d'avance
[Opened] Re: Génération de PDF impossible
Posted by yamsuz on 10/01/2008 10:41
Re-bonjour,
En cherchant ce qui se passe j'ai trouvé une solution mais je suppose quelle va pas convenir, mais ça donnera peut-etre une piste à d'autres personnes
Dans le fichier tcpdf.php, j'ai remarqué qu'il y avait 2 instructions dans la fonction Header :
$this->SetFont($this->header_font[0], 'B', $this->header_font[2] + 1); $this->SetFont($this->header_font[0], $this->header_font[1], $this->header_font[2]);
Mon problème provient visiblement de la fonction SetFont qui ne se termine pas. J'ai donc remonté sur le code pour trouvé l'erreur (si erreur il y a, c'est surement moi qui est fait une mauvaise manip) le contenu de $this->header_font[[0]] est 'h' alors que je crois avoir compris que ça devrait être helvetica.
J'ai donc mis pour la première instruction l'instruction suivante : $this->SetFont($this->header_font, 'B', $this->header_font2 + 1);
Au niveau de la deuxième instruction j'ai mis la même instruction que la première pour voir si ça fonctionne.
Miracle : j'ai bien eu un PDF avec mon texte, par contre le texte est tout petit même si je retaille la police. Ce que j'ai fait pour tester uniquement est certainement pas la bonne chose à faire, j'en suis conscient mais je ne vois pas d'ou provient mon erreur.
[Opened] Re: Génération de PDF impossible
Posted by Julien on 10/01/2008 11:15
Hello,
merci pour les pistes.
Je suis en train de travailler sur le ticket #693 que tu as d'ailleurs complété.
Julien
[Opened] Re: Génération de PDF impossible
Posted by Julien on 10/01/2008 11:58
ce n'est pas aussi simple que ça en fait...
je continue les explications sur le ticket 693
Julien
- 1