Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Autres composants
Autres composants Forum de support sur les autres composants de Zend Framework.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2007, 11h17   #1
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
Par défaut [Pdf] [0.6] Problème avec la création de PDF

Bonjour tout le monde

Mon script fonctione et me genere un document pdf mais le probleme c'est quand je veut ouvrir le pdf un message s'affiche me disant:" Le fichier ne commence pas par '%PDF-' "
voici le code utiliser pour generer le pdf et j'utilise la version 0.6 du framework

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
set_include_path(".".PATH_SEPARATOR."./library".PATH_SEPARATOR."./appli/moduls".PATH_SEPARATOR.get_include_path());
 
include_once"Zend.php";
Zend::loadClass("Zend_Pdf");
$pdf = new Zend_Pdf();
 
//creation + font + text + rendu
$page1 = $pdf->newPage('A4');
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$page1->setFont($font, 18);
$page1->drawText("mon premier fvsdgvfsd gsdf gsdfg sdfg dfs gfds gfds gf gichier pdf generer",10,10);
$pdf->page[] = $page1;
header('Content-Type:application/pdf');
$pdf->save('page.pdf',false);
echo file_get_contents('page.pdf');
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2007, 18h43   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, je ne connais pas l'utilisation de la classe de Zend mais si tu veux, il y aun article (bien fait ma foi) sur la génération et l'affichage de fichiers pdf avec un dérivé de la classe FPDF...

++
JC
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2007, 20h41   #3
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Il me semble que ce message est obtenu lorsque le fichier PDF est mal généré, par exemple si tu aurais le message "headers already sent".
Commente ton avant dernière ligne de code pour le vérifier : l'appel à save().
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 08h48   #4
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
FPDF me semble bien, je vais me tourner vers elle alors, mais je voudrai bien savoir pourquoi c'elle de zend ne veut pas marcher pour moi, avec quelque test j'ai remarquer que le probleme vien de $pdf->save donc je suis sure qu'il me manque un truc, alors si quelqu'un un deja travailler avec feel free to help me
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 09h21   #5
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Je me suis probablement mal exprimé : je soupçonne ton code de produire un warning ou une erreur, ce qui a pour conséquence de foirer l'envoi des headers et donc de rendre ton PDF inutilisable.
Pour le savoir, commente (= mettre en commentaires) l'appel à save() ainsi que l'envoi du header PDF : si ton code fonctionne, tu devrais obtenir une page blanche ; autrement (et c'est ce que je pense), tu auras le warning/erreur.

C'est l'une des situations qui démontrent qu'il faut désactiver l'affichage des erreurs dans les environnements de production
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 10h33   #6
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
merci Yogui je vais essyer
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 10h49   #7
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
me revoila avec des movaises nouvelles, le script ne marche toujours pas , vous n'auriez pas un example pour le Zf 0.6, un example de generation d'une page avec une ligne de text s'il vous plai, je commence a desesperer

Yogui j'ai comenter le header et sa ne marche pas, il me genere bien un fichier pdf mais quand je l'ouvre acrobat me dit qu'il est endomager, programmation quand tu nous tien
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 11h06   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Juste pour vérifier, as-tu bien mis en commentaires la sauvegarde dans le fichier ? C'est cette ligne qui crée le fichier, or c'est en créant le fichier qu'il y a un problème. Isole le reste du code (en ne sauvegardant pas le fichier), tu sauras ce qu'il se passe. Je ne vais tout de même pas te faire l'affront de te donner le code que je te propose d'utiliser...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 11h23   #9
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
Yogui merci de m'eviter l'affront de me donner le code et quand je met en commentaire le save avec un error_reporting a 0 le document n'arrive pas a souvrire et me plante FF2 mais je vais continuer ma quete
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 12h40   #10
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Comment as-tu trouvé le code que tu utilises ? Zend propose ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
...
// Load PDF document.
$pdf = Zend_Pdf::load($fileName);
...
// Update document
$pdf->save($fileName, true);
// Save document as a new file
$pdf->save($newFileName);
 
// Return PDF document as a string.
$pdfString = $pdf->render();
 
...
?>
Note l'utilisation de la méthode render() qui remplace effectivement tes 3 dernières lignes. Utilise echo à cet endroit, cela devrait résoudre ton problème.

Cordialement,
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 10h38   #11
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
me revoila
Je vien de tester Zend 0.7 pour voir et comme j'ai trouver une demo de generation de pdf en la testant sa me sort ce message

Fatal error: Nesting level too deep - recursive dependency? in C:\wamp\www\Zend0.7\ZendFramework-0.7.0\library\Zend\Pdf\ElementFactory.php on line 262

pouvais vous me dire se que sa signifie
Cordialement, un Zendyani
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 10h59   #12
Invité régulier
 
Inscription : août 2006
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 12
Points : 7
Points : 7
une autre question, je pense qu'il y a une malediction consernant le pdf sur zend , j'ai travailler avec fpdf et tout marche tres bien, alors que zend sa ne veut pas marcher, la malediction a fait une autre victime
sinleon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 11h47   #13
Invité de passage
 
Inscription : février 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 5
Points : 3
Points : 3
Il y a un problème en effet... dans Pdf/ElementFactory.php ligne 262 (zend framework 0.8.0), remplacer

Code :
$obj->getFactory() != $this
par

Code :
$obj->getFactory() !== $this
et ça devrait fonctionner.
Guillaume P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h02.


 
 
 
 
Partenaires

Hébergement Web