Bonjour,
Je viens vous demander de l'aide car ça fait un moment que je cherche mais je n'y arrive pas.
Je développe sous symfony.
Je crée des graphes à partir des données de la bdd.
Il faut que j'arrive à les enregistrer en pdf.
Alors voilà mon pb, j'arrive à les afficher, mais je n'arrive pas à faire un pdf à partir de ce que j'ai.
J'ai trouvé html2pdf qui à l'air très bien ==> http://html2pdf.fr/
Le problème c'est que je construit mes graphes avec des variables.
Et quand j'enregistre mon pdf, il me dit qu'il ne connait pas ses variables.
Voilà mon code :
Je calcule mes variables à partir de requêtes et affiche le partial correspondant
Dans mon partial :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 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'; }
J'affiche mes graphes (ça marche très bien c'est bon)
Et l'action sur mon bouton PDF:
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 <?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>"; } ?> <form method="post"> <input type="submit" value="PDF" name="btn_PDF"/> </form>
Mon PDF se crée mais le problème c'est que j'ai Undefined variable nb_soud in .../_graph.php line 2
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 if($this->getRequestParameter('btn_PDF')){ ob_start(); include('../apps/frontend/modules/form_speciaux/templates/_graph.php'); $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, isset($_GET['vuehtml'])); $html2pdf->Output('graph_DPX.pdf'); } catch(HTML2PDF_exception $e) { echo $e; } }
Quand je met les valeurs à $nb_soud et $medaille, il me crée mon fichier pdf comme je veux, avec mes graphes...
J'ai essayer de mettre le code de mon bouton directement avec l'affichage de mes graphes. Mais dans ce cas j'ai une page blanche.
Je bloque complètement.
Quand je fais ça :
Il me propose d'enregistrer le fichier avant d'avoir ouvert la page avec les graphes, et il me dit forcément pareil : Undefined variable nb_soud ..
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 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'; } ob_start(); include('../apps/frontend/modules/form_speciaux/templates/_graph.php'); $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, isset($_GET['vuehtml'])); $html2pdf->Output('graph_DPX.pdf'); } catch(HTML2PDF_exception $e) { echo $e; } }
Qqun peut m'aider?
Merci d'avance
Partager