IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Génération de PDF [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut Génération de PDF
    Bonjour à tous,

    je suis nouveau sur le forum. Je travaille depuis 3 semaines sur symfony pour apprendre à l'utiliser pleinement. La raison, c'est que je dois créer un site web pour mon examen de laboratoire web, et après avoir tester cakePhp et Zend, j'en arrive à Symfony

    Après de longue recherche et teste sur la génération d'un pdf, je suis tombé sur une solution qui marche relativement bien. J'ai juste un soucis pour une vue mais en recherchant sur le forum, je n'ai pas trouvé de réponse.

    La source de comment générer un pdf se trouve sur ce blog.

    C'est assez simple. La solution utilise la bibliothèque mPDF, qui se place dans le dossier projet/lib/

    Dans le action.class.php du module dont on veut afficher la page, on place ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	public function executePdfIndex(sfWebRequest $request)
    	{
    	   $html = $this->getController()->getPresentationFor($this->getModuleName(), 'index');
    	   $mpdf = new mPDF('en-GB','A4','','',32,25,27,25,16,13);
    	   $mpdf->useOnlyCoreFonts = true;
     
    	   // LOAD a stylesheet
    	   $stylesheet = file_get_contents(sfConfig::get('sf_web_dir').'/css/pdf.css');
    	   $mpdf->WriteHTML($stylesheet,1);	// The parameter 1 tells that this is css/style only and no body/html/text
    	   $mpdf->WriteHTML($html, 2);
    	   $mpdf->Output('mpdf.pdf','D');
    	}
    J'ai nommé mon action PdfIndex car je veux faire un pdf de la vue index.
    D'ailleurs, on spécifie à cette ligne l'action visée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $html = $this->getController()->getPresentationFor($this->getModuleName(), 'index');
    Il suffit de se rendre sur www.projet.com/module/PdfIndex et l'action se lance et créé le pdf. La plupart du design et du css est gardé.
    Maintenant, il se peut que ca mette du temps... La première fois, vu que je ne le savais pas, je pensais que ca ne marchait pas :s J'ai cherché et cherché quand au bout de 1min, le pdf est apparu en téléchargement Donc soyez patient si vous testez cette solution (ou si ca se peut, c'est mon site qui a un soucis.. Surtout qu'il est probablement pas optimisé vu que c'est le premier que je fais)

    J'en arrive à mon problème, j'ai tenté de faire le même avec l'action show, qui me permet d'avoir une fiche technique de l'objet, mais sans succès...
    Et c'est justement cette page la qui est demandé pour mon examen

    Je sais pas trop comment m'y prendre pour le faire, j'ai bien tenté de mettre "show" à la place de "index" dans l'action à viser, mais quand je me rends sur www.projet.com/module/PdfShow, ca me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to undefined method sfRoute::getObject() in /var/www/examen/apps/frontend/modules/article/actions/actions.class.php on line 30
    Si quelqu'un a une idée de comment je peux résoudre mon problème, je suis preneur

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Par défaut
    Hello,

    Si tu veux juste voir le résultat de ton PDF dans une page web, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mpdf->Output('mpdf.pdf','I');
    return sfView::NONE;
    ça devrait fonctionner.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 260
    Par défaut
    Bonjour hardy021, merci pour ce post. je suis tombé dessus en cherchant comment exporter des pages en pdf sous symfony 1.4. Malheureusement le site au bout du lien que tu as donné sur comment générer les pdf semble ne plus exister. Comment je peux avoir la librairie ? Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche outil de génération de Pdf
    Par yomax dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 17/02/2006, 08h58
  2. [XML - XSL-FO] génération doc PDF ?
    Par ghohm dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 10/02/2006, 00h12
  3. [iText] Conseils sur la génération de pdf
    Par GreenJay dans le forum Documents
    Réponses: 6
    Dernier message: 25/03/2005, 01h49
  4. Automatiser génération fichier PDF
    Par psyco2604 dans le forum ASP
    Réponses: 4
    Dernier message: 24/11/2004, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo