Bonjour à tous.
Je n'arrive pas à résoudre mon pb, alors j'espère que vous pourrez m'aider.
J'ai besoin de créer un PDF à partir de mon code html.
J'ai trouvé cette bibliothèque qui m'a l'air pas mal ==> http://html2pdf.fr/
Le problème, c'est que j'ai une erreur : TCPDF ERROR: Some data has been output, can't send PDF file.
Je développe sous symfony. Voilà mon code :
Tout d'abord j'ai un formulaire dans un partial _form :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13<div class="formul"> <form method="post"> Date <input type="text" name="date_med_rand" class="dateRdv" value="<?php echo date('Y').'-'.date('m').'-'.date('d'); ?>"/></td> <input type="radio" name="rad_med_rand" value="Matin"> Matin<br/> <input type="radio" name="rad_med_rand" value="Journee"> Journée <br/> <input type="radio" name="rad_med_rand" value="Nuit"> Nuit<br/> <input type="submit" name="btn_OK_med_rand" value="IMPRESSION"/> </form> </div>
J'ai dans mon action, l'action de mon bouton :
Ensuite dans mon indexSuccess, il doit me générer ici mon PDF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /* * Bouton "IMPRESSION" du formulaire*/ if($this->getRequestParameter('btn_OK_med_rand')){ $this->date = $this->getRequestParameter('date_med_rand'); $this->poste = $this->getRequestParameter('rad_med_rand'); if($this->date!='' && $this->poste!=''){ $this->medaille = Doctrine::getTable('TSoudure')->getRandMed($this->date, $this->poste); $this->nb_soud = Doctrine::getTable('TSoudure')->getNbSoudMedaille_Finition($this->medaille); $this->partial = 'partial_graph'; } }
Et voilà le code de mon partial graph :
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 else if( $partial == 'partial_graph' ) { ob_start(); include_partial('form_speciaux/graph', array('medaille'=>$medaille, 'nb_soud'=>$nb_soud)); $content = ob_get_clean(); // conversion HTML => PDF require_once('include/html2pdf/html2pdf.class.php'); try { $html2pdf = new HTML2PDF('P','A4','fr', false, 'ISO-8859-15'); //$html2pdf->setModeDebug(); $html2pdf->setDefaultFont('Arial'); $html2pdf->writeHTML($content); $html2pdf->Output('graph_DPX.pdf', false); } catch(HTML2PDF_exception $e) { echo $e; } }
Ce que je veux, c'est que quand j'appuies sur le bouton IMPRESSION de mon formulaire, je veux enregistrer les graph qui sont générés sur ma partial _graph.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php echo "Nombre de soudures <b>: ".$nb_soud."</b><br><br>"; for($i=1; $i<=$nb_soud; $i++){ $NumOrdre = $i; echo "<b>Soudure ".$i."</b>"; $soudure = p_courbe_finition_makegraph($medaille, $NumOrdre); p_courbe_finition_sidebar($soudure, $medaille, $NumOrdre); echo "<br><br>"; } ?>
Mais j'obtiens l'erreur : TCPDF ERROR: Some data has been output, can't send PDF file.
Je suis complètement bloquée. J'ai vu que ça pouvait être à cause des headers qui sont mal placé, d'un echo mal placé. Mais avant d'afficher mon partial, je ne fais qu'appeler des include_partial pour placer mon header et mon footer.
Qqun a une idée ?
Partager