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 :

Utiliser HTML2PDF


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Utiliser HTML2PDF
    Bonsoir,


    Je voudrais générer un pdf à l'aide d'un fichier twig mais j'ai pas mal de problèmes. Je voudrais savoir si ma façon de faire est correcte.
    J'ai mon controller suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public function exec_cuAction($id)
      {
      	//CU 4 : imprimer toutes les factures
      	switch ($id){
    	  	case 2: // *** Impression Facture vide ***
    		  	$infos = null;
    		  	$html= $this->render('PeriscopeAdminBundle:Admin:FactureVide.html.twig',array('infos'=> $infos)); //les content pour le pdf
    		  	$name = 'factureVide.pdf';		  			  	
    	  		return $this->render('PeriscopeAdminBundle:Admin:afficher_factures_pdf.html.php', array('name'=>$name, 'html'=>$html));
    break;
    }
    Mon template FactureVide.html.twig :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    <page orientation="portrait" format="A4" style="font-size: 18px">
    	<div id="wrapper">
    		   		<div id="left_informations">
     
     
    			   		<br><br><br>
     
    			   		<div id="fields">
    			   			<div id="invoice_id">
    			   				<span>Facture n____ </span>
    			   				<span>____________</span>
    			   				<span>Date : ___/___/______</span>
    			   			</div><br>
    			   			<div>Nom de l'enfant :</div><br>
    			   			<div>Primaire/Maternelle : </div><br>
    			   			<div>Date de naissance : </div><br>
    			   			<div>Classe : </div><br>
    			   			<div>Enseignant : </div><br>
    			   			<div>Taux horaire :</div><br>
    			   			<div>Heures matin : </div><br>
    			   			<div>Heures soir : </div><br>
    			   			<div>Total heures : </div>
    			   			<h4>Net  payer du mois : </h4>
    			   			<br>
    			   			<div>Votre retard  la fin du mois precédent : </div><br>
    			   			<h4>RETARD : </h4>
    			   			<div>Votre situation nette : </div>
    			   			<br>
    			   			<div> Association loi 1901, SIRET 39217524600017    Code APE 913 E <br>
    			   				  Exonr de TVA Article 261 du CGI
    			   			</div>
    			   			<div><i>Partie  conserver</i></div>
    			   			<div style="width:610px;">---------------------------------------------------------------------------------------------------------</div>
    			   			<br>
    			   			<div id="invoice_id">
    			   				<span>Facture n____ </span>
    			   				<span>____________</span>
    			   				<span>Date: __/__/_____</span>
    			   			</div>
    			   			<div>Nom de l'enfant :</div>
    			   			<br>
    			   			<div>Votre situation nette : </div>
    			   			<br>
    			   			<div>Payer en espce la somme de :</div>
    			   			<br>
    			   			<div>Payer par chque  l'ordre de Priscope n</div>
    			   			<div style="margin-left:100px;">Banque : </div>
    			   			<div style="margin-left:100px;">Somme : </div>
    			   			<br><br>
    			   			<div style="margin-left:100px;"> 
    				   			<span><u>Date:</u> ___/___/______</span>
    				   			<span><u>Signature :</u> </span>
    			   			</div>
    			   			<br><br><br>
     
    			   		</div>
    		   		</div>
     
    				<div id="right_ads">
    			    </div>
     
     
    	   </div> 
    	</page>
    Et mon afficher_factures_pdf.html.php qui est la réponse de mon controleur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php		
    		ob_start();
    	    try
    	    {
    	        $html2pdf = new \Html2Pdf_Html2Pdf('P', 'A4', 'fr');
    	        $html2pdf->pdf->SetDisplayMode('fullpage');
                    $html2pdf->writeHTML($html);
    	        $html2pdf->Output($name);
                    exit;
    	    }
    	    catch(HTML2PDF_exception $e) {
    	        echo $e;
    	        exit;
    	    }
     
    ?>
    Résultat : une page pdf contenant : "HTTP/1.0 200 OK Cache-Control: no-cache Date: Mon, 11 Mar 2013 19:37:29 GMT" et des sauts de lignes qui ne devraient pas avoir lieu.

    De plus, je ne sais pas si ma façon de faire est bonne, c'est-à-dire renvoyer une page php (qui se charge de générer le pdfà depuis mon controleur.

    PS: Je n'ai pas trouvé de tuto sur la génération de pdf avec HTML2PDF et Symfony2.
    PS2 : HTML2PDF est bien inclu dans mes lib.

    Merci d'avance !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 23
    Points
    23

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci, j'ai résolu le problème en ajoutant getContent() à $html.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Tant mieux si ça fonctionne.

    Cependant, je trouve ta façon de faire pas très propre... Dispatcher du php hors controller n'est pas souvent la bonne façon de faire amha

Discussions similaires

  1. [PDF] Utilisation de HTML2PDF pour convertir une page php en PDF
    Par LilyP dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/05/2013, 12h27
  2. [2.x] Problème d'utilisation html2pdf
    Par cescu dans le forum Symfony
    Réponses: 4
    Dernier message: 06/02/2013, 12h52
  3. [Html2PDF] Utilisation du framework avec Extjs
    Par Tiolebucheron dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 29/10/2010, 15h24
  4. Utilisation html2pdf, problème
    Par symff dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 26/05/2010, 10h22
  5. [FPDF] Utilisation de HTML2PDF et de FPDI
    Par jord23 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 30/03/2010, 10h11

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