su ton bouton tu appelles un script qui régénère le contenu de ta div, tu ajoutes une entête et un pied de page HTML et tu utilises un script qui force le DL :
<?php
$filename = 'xxxx';
$size = strlen($data);
header("Content-Type: application/force-download; name=\"" . $filename . "\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $size);
header("Content-Disposition: attachment; filename=\"" . $filename . "\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
echo $data;
?>
sinon pareil avec un librairie qui convertie le HTML en PDF.
Merci.
Il n'y a pas moyen de récupérer directement le contenu du DIV pour l'envoyer dans ta variable $data (si j'ai bien compris) ?
Et pour le PDF, ta librairie, c'est bien coté serveur ? Tu en connais une (si possible qui ne passe pas par un fichier à créer sur le serveur) ?
1/ non, enfin si mais ce serait pire, du genre un formulaire avec le contenu de la div dans un champ texte dans une iframe invisible et forcera le download à la validation, c'est pas dur à faire mais c'est se compliquer pour rien.
2/ url : http://code.google.com/p/dompdf/
j'avais fait quelques essais et c'était potable, je ne sais pas ce que ça vaut vraiment. ça renvoie le résultat dans une chaine texte, tu peux réutiliser le code précéder avec le bon doctype.
1/ J'aime ce qui est simple donc on va rester à ta première proposition.
Ca reste quand même dommage parce que les données sont déjà coté client et qu'il va falloir non seulement refaire une requête mais aussi tout re-transférer.
J'ai toujours des dilemmes entre la simplicité et la consommation de ressources...
2/ Je vais tester.
Merci encore.
Si c'est trop chiant le formulaire invisible marche bien, en plus ça évite le comportement de certains browser de créer des onglets vides.
copier le contenu d'une div dans un champs texte prend une ligne de javascript c'est pas la mort.
Vous devez être identifié pour participer à ce topic.