1

Bonjour,

Je crée des graphiques avec la librairie JS Charts en javascript et XML (Ex. http://www.refonly.com/rapport.html )
et j'aimerais récupérer l'image du graphique pour l'insérer sur un PDF.

Le problème est que cette page ne génère aucun code html c'est pour ça que
je me demande s'il y a possibilité de faire une capture d'écran ou quelque chose
dans ce style afin de récupérer mon graphique.

J'ai vu dans la doc qu'il y a à la possibilité d'insérer des scripts mais je n'ai pas trouvé
d'aide à ce sujet

José

2

le php c'est côté serveur, la génération du pdf c'est côté serveur... là, tu parles d'une image générée côté client... c'est donc impossible de l'inclure dans un PDF côté serveur ...

utilise une librairie qui construit ton graphique côté serveur, il y en a pas mal et qui sont très simple à utiliser (regarde par exemple artichow ( http://www.artichow.org/ )
Ancien pseudo : lolo

3

J'avais déjà regardé du côté, c'est vrai qu'elle est assez simple à utiliser mais je trouve que les graphiques (courbes) sont pas très jolies.

C'est pour envoyer des rapports aux clients.

Autrement, j'ai une question, je souhaiterais varier les couleurs d'arrière-plan d'une ligne à l'autre. J'utilise ce code qui marche sous PHP mais ne fonctionne pas lorsque je génère le PDF.

$var = 0;
if ($var==0) {
?>
<tr style="background-color:#EEEEEE;">
<?php
$var=1;
}
else {
?>
<tr style="background-color:#000000;">
<?php
$var=0;
}

4

ce bout de code intialise $var à zéro puis fait un test juste en-dessous pour vérifier que $var vaut bien zéro, je vois difficilement comment ça peut donner autre chose que toujours le même résultat ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

Non, justement j'initialise ma variable $var à 0 et je la passe de 0 à 1 ou de 1 à 0 ce qui varier les couleurs des cellules.

6

pourtant je ne vois aucune boucle dans ton code, ni rien qui puisse faire en sorte que le cas "else" soit pris en compte ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

je pense que le var=0 doit être en dehors d'une boucle...

pour le graphique en javascript : c'est pas bon en soit car si le client n'a pas activé le javascript, ou si il n'a pas de navigateur compatible (style pda ou autre) ben il ne verra pas les graphiques...
Ancien pseudo : lolo

8

D'un autre coté ça te permet de générer des graphiques potentiellement lourds avec un serveur modeste, puisque ça ne lui cause pas de charge supplémentaire. Le principe de la bibliothèque est au contraire très bon, je trouve. Qu'il ne soit pas compatible avec html2pdf, c'est un autre problème.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

sauf que si c'est des graphiques important (dans le sens sécurité), les faire du côté client c'est pas top...

[edit] correction : serveur => client, inversion de ma part !
Ancien pseudo : lolo

10

coté client tu veux dire ? les graphiques ne sont qu'une représentation des données, dans tous les cas tu envoies les informations et seule la forme change, donc d'un point de vue sécurité c'est équivalent.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

ben sauf que dans un cas tu envoies une image, et dans l'autre des chiffres directement exploitable via n'importe quel script php, qui pourrait par exemple télécharger régulièrement les données et en faire ce qu'il veut pour traitement et autre...
Ancien pseudo : lolo

12

Si quelqu'un veut vraiment exploiter les données, il analysera l'image générée pour retrouver les valeurs (je suis sûr que des outils existent déjà pour faire ça), ce n'est qu'une étape supplémentaire et certainement pas un gage de sécurité ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

Discussion très interessante...

Autrement, ça serait pas possible d'intégrer le code ci-dessous dans le modèle de page htmltopdf pour l'intégrer directement dans le PDF ?

<script type="text/javascript" src="jscharts.js"></script>

<script type="text/javascript">
var myChart = new JSChart('chart_container', 'line', '', '');
myChart.setDataXML("rapport-28-03-09.xml");
myChart.draw();
</script>;

14

./12 => en effet, mais ca suffit quand même généralement pour décourager la plus part des gens.

./13 => non, car le script autorisé dans les PDF et le javascript sont pas mal différents... je ne pense pas que tu ai le choix de passer par une image généré par PHP (comme dans l'exemple 9)
Ancien pseudo : lolo