|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Bonjour à tous,
je viens de découvrir TCPDF et essaye donc de générer un PDF mais je rencontre un problème lors de l'ouverture de ce fichier après sa création. Je développe en PHP en utilisant le framework Zend. Code: // Librairie TCPDF Code php :
require_once ('/lib/tcpdf/tcpdf.php'); // Création d'un nouveau document PDF Code php :
Une fois le document crée, lors de son ouverture je n'arrive pas à le lire et j'ai le message d'erreur suivant qui s'affiche: Adobe Reader n'a pas pu ouvrir fichier.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il a été envoyé en tant que pièce jointe et n'a pas été décodé correctement, par exemple) Pourriez vous m'indiquer d'où peut provenir le problème? Merci d'avance |
||
|
|
00
|
|
|
#2 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Cela peut venir de caractères non désirables situées avant ou après l'execution de ton script (un espace avant l'ouverture de la balise PHP, après etc..)
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Merci ThomasR pour cette réponse rapide mais je ne trouve pas de caractères non désirables (ni espaces avant balises php) mais comme je travaille sur Zend Studio j'ai un "Warning: class TCPDF not found" au niveau de la ligne où je crée mon pdf:
$pdf = new TCPDF(...); Penses-tu que le problème viendrait de là? Si oui comment y résoudre car mon require_once fonctionne bien sinon j'aurais un message d'erreurs à ce niveau là? Merci d'avance pour ton aide. |
|
|
00
|
|
|
#4 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Oui l'erreur vient de là, il fallait le préciser dès le début
Cela signifie que le chemin /lib/tcpdf/tcpdf.php n'existe pas, existe-t-il réellement un dossier lib/ à la racine de ton serveur web (www/lib ?). Je pense que tu voulais écrire lib/tcpdf/tcpdf.php (sans le premier "/" au début). Sinon, où se situe le fichier tcpdf.php par rapport à ton fichier qui contient le new TCPDF ? |
|
01
|
|
|
#5 |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Oui il existe bien un dossier lib à la racine de mon serveur qui contient le répertoire tcpdf dans lequel est inclus le fichier tcpdf.php.
Lorsque je teste en écrivant lib/tcpdf/tcpdf.php (sans le premier "/" au début), j'ai un message d'erreur: "failed to open stream: No such file or directory in...". Voilà donc: -le fichier tcpdf.php se trouve dans: www/lib/tcpdf/tcpdf.php -le script qui contient "new TCPDF()" est sendPDF.phtml qui se situe dans: www/mon_projet/application/views/scripts/test/sendPDF.phtml et le require que je fais dans mon script sendPDF.phtml est: require_once('../../lib/tcpdf/tcpdf.php'); |
|
|
00
|
|
|
#6 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Ton require n'est pas bon, tu cherches un dossier lib/ dans le dossiers views/.
Utilises ceci : Code :
require_once('../../../../../lib/tcpdf/tcpdf.php'); |
|
01
|
|
|
#7 | |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Merci, mais avec le chemin:
Code php :
require_once('../../../../../lib/tcpdf/tcpdf.php'); ça ne fonctionne toujours pas et m'indique la même erreur que précédemment: Citation:
Code php :
require_once('../../lib/tcpdf/tcpdf.php'); Je ne comprends pas? |
|
|
|
00
|
|
|
#8 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Oups :
Code :
require_once('../../../../../../lib/tcpdf/tcpdf.php'); |
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
non ça ne fonctionne pas, et toujours le même warning dans mon script au niveau de la création du pdf et le même message d'erreurs:
"failed to open stream: No such file or directory in.." ??? |
|
|
00
|
|
|
#10 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Soit les chemins que tu m'as donné ne sont pas bons, soit la casse des caractères est incorrecte sur les noms de dossier et le nom de fichier.
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Merci pour ta réponse, j'ai modifié mes chemins en créant un lien symbolique vers la librairie tcpdf, je n'ai plus le "warning : class TCPDF not found".
Cependant, lorsque j'essaye d'ouvrir le fichier pdf crée je n'y arrive pas et j'ai le même message d'erreur: Adobe Reader n'a pas pu ouvrir fichier.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il a été envoyé en tant que pièce jointe et n'a pas été décodé correctement, par exemple) Je ne vois pas d'ou peut provenir le problème j'ai même essayé d'afficher une page pdf vide mais j'ai toujours la même erreur? |
|
|
00
|
|
|
#12 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 139 ![]() |
Que contient ton fichier PDF lorsque tu l'ouvres avec un éditeur de texte ?
|
|
00
|
|
|
#13 | ||
|
Membre régulier
![]() Inscription : février 2011 Messages : 114 ![]() |
Bonjour Thomas,
j'ai trouvé la solution à mon problème. J'utilise le framework Zend et le modèle MVC pour mes développement, donc lors de la génération de mon pdf, le contenu du layout et de ma vue viennent s'intégrer au contenu de mon doc pdf, il y a donc des caractères "bizarres" que Adobe reader ne reconnait pas lorsqu'il essaye d'afficher ma page. Pour résoudre ce problème j'ai réorganisé mon code (MVC) et ajouter les lignes de commandes suivantes dans mon contrôleur pour empêcher le layout et la vue de s'afficher dans ma page pdf: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com