1

Bonjour,

Sur un site en PhP je récupère des informations en fonction d'un login et de certains critères et je les affiche sur une page sous la forme d'un tableau.

J'aimerais lors d'un clic sur un logo pdf créer un pdf à l'identique du tableau afficher, après plusieurs heures pour ne pas dire de recherche, je patauge et je n'arrive à rien.

Existe-t-il un How to de cette manipulation ?

D'avance un grand merci pour votre aide

Gecko 62

Version installé de HTML2Pdf = 4.02 (depuis le 30.4.2011 avant version 4.01)
Gecko 62

Version installé de HTML2Pdf = 4.03

2

tu peux t'inspirer de l'exermple 9.
Ancien pseudo : lolo

3

Re bonjour,

et merci de votre réponse mais quelques précisions, l'exemple 9 que ja'vais déjà consulté imprime l'ensemble de la page et surtout donne peu d'explication sur le code à placer dans la page php (makepdf) ne me sert pas à grand chose si je ne sais pas comment l'appeler. Je suis un béotien et je ne fais que découvrir par test.

De plus est-il possible de n'imprimer que ce qui est contenu entre deux DIV ? exemple 13

La largeur et la hauteur des cellules sont-elles automatiquement calculées en fonction du contenu ? exemple 10, 11 et 12

Comment s'opèrent les saut de page si la totalité d'une cellule ne rentre pas sur une page ? exemple 11

voici une copie de la page de départ
tromb Fichier joint : WJ19 (PageComplete.jpg)

et ce que j'avais réussi à obtenir avec fpdf (sur l'ancien serveur en PhP 4, nous venons de passer à la version PhP 5 et fpdf ne fonctionne plus.
Cette version n'était de plus pas satisfaisante puisqu'elle ne gérait pas les retours à la ligne
tromb Fichier joint : Pg8m (PagePdfAncienServeur.jpg)

Serait-il donc possible d'avoir des copies du code Php des ces différents exemples.

Un retour de ma part sur le produit fini serait bien évidemment envisageable et à envisager pour d'autres utilisateurs.

Une fois encore merci de votre aide

Bien cordialement

Gecko 62

Version installé de HTML2Pdf = 4.02 (depuis le 30.4.2011 avant version 4.01)
Gecko 62

Version installé de HTML2Pdf = 4.03

4

Bonjour,

je reviens à la charge, car après bien des test et des essais je n'arrive toujours pas à faire créer un fichier pdf

cela me renvoie le message d'erreur suivant ""TCPDF ERROR: Some data has already been output, can't send PDF file"

or si j'ai bien compris que des données envoyées perturbe la création du fichier pdf je ne sais pas qu'elles elles sont et d'où elles viennent !!

Voici donc le code
<?php /** * Logiciel : exemple d'utilisation de HTML2PDF * * Convertisseur HTML => PDF * Distribué sous la licence LGPL. * * @author Laurent MINGUET <webmaster@html2pdf.fr> * * isset($_GET['vuehtml']) n'est pas obligatoire * il permet juste d'afficher le résultat au format HTML * si le paramètre 'vuehtml' est passé en paramètre _GET */ // Se connecter à la base de données. require_once('../../Admin/Modeles/connexion.php'); // Récupération de la base de données include ('../../Admin/Modeles/base.php'); // On relaye la session session_start(); // vérification sur la session authentification (la session est elle enregistrée ?) if ($_SESSION["authentification"] && ($_SESSION['privilege'] == "admin" or $_SESSION['privilege'] == "resp_sec" or $_SESSION['privilege'] == "ECDIP")){ // ici les éventuelles actions en cas de réussite de la connexion } else { // redirection en cas d'echec header("Location:../index.php?erreur=intru"); } // Titre de la page $page_title = 'Sélection d\'une livraison à modifier'; // Inclusion l'en-tête fonctionnelle (CSS et Javascript). include ('../Modeles/Head_Liv.php'); // Inclure l'en-tête HTML. include ('../Modeles/Entete_Liv.php'); ?> <title><?php echo $page_title; ?></title> <?php // Créer une nouvelle variable vide. $message = ""; // Créer la requête. $query = "SELECT id_Liv, NomEc, Division, Localite, DateLiv, NumLiv FROM ".$base."LivEcDip WHERE id_an = '".$_SESSION['id_an']."'ORDER BY NomEc ASC LIMIT 0,10"; // Exécuter la requête. $result = @mysql_query ($query); // Nombre de motifs enregistrés $num = mysql_num_rows ($result); // On regarde si il faut mettre les informations au pluriel $pluriel = ($num > 1)?'s':''; $generate = isset($_GET['make_pdf']); // $nom = isset($_GET['nom']) ? $_GET['nom'] : 'inconnu'; // modification du nom pour enlever les cactères spéciaux // $nom = substr(preg_replace('/[^a-zA-Z0-9]/isU', '', $nom), 0, 26); // si le bouton est cliqué if ($generate) { // enregistrement des données à "imprimer" ob_start(); } else { // préparation pour l'affichage de la page html } //suite soit de l'enregistrement des données soit de l'affichage de la page ?> <p> <!-- <div class="titre"> --> <h2>Choisissez le type de modification à effectuer en cliquant sur le lien correspondant en fin de ligne</h2><!-- </div> --> </p> <table align="center" cellspacing="0" cellpadding="3" border="1"> <tr valign="top"> <td valign="middle" align="left"><b>Nom école</b></td> <td valign="middle" align="left"><b>Division</b></td> <td valign="middle" align="left"><b>N° liv.</b></td> <td valign="middle" align="left"><b>Localité</b></td> <td valign="middle" align="center"><b>Date liv.</b></td> <td valign="middle" align="left"><b>Données globales</b></td> <td valign="middle" align="left"><b>Données ECDIP</b></td> </tr> <?php // Afficher tous les enregistrements. // $i = 0; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { // $couleur = ($i%2==1)?'#FFffFF':'#CCccCC';$i++; // echo "<tr valign='top'> // mise en variable de la date de livraison $D_Liv = explode('-', $row[4]); $JD_Liv = $D_Liv[2]; $MD_Liv = $D_Liv[1]; $AD_Liv = $D_Liv[0]; // Transformation de la division if ($row[2] == "Enf") { $division="Elémentaire"; } elseif ($row[2] == "Prim") { $division="Moyenne"; } elseif ($row[2] == "EnPr") { $division="Elém. et Moy."; } else { $division="à modifier"; } // echo "<tr valign='top' bgcolor='$couleur'> echo "<tr valign='top'> <td align='left'>".stripslashes($row[1])."</td> <td align='left'>$division</td> <td align='center'>$row[5]</td> <td align='left' nowrap='nowrap'>".stripslashes($row[3])."</td> <td align='right' nowrap='nowrap'>$JD_Liv - $MD_Liv - $AD_Liv</td> <td align='center'><a href='LivAModifier.php?id_Liv=$row[0]'>Mod. Transports</a></td> <td align='center'><a href='LivAModECDIP.php?id_Liv=$row[0]'>Mod. ECDIP</a></td> </tr>\n"; } //end while ?> </table> <?php // Si le bouton "Générer pdf" est cliqué (création du fichier pdf) if ($generate) { // récupération des données enegistrées $content = ob_get_clean(); // Inclusion de la classe de création de pdf require_once(dirname(__FILE__).'/../../html2pdf/html2pdf.class.php'); try { // formatage du fichier pdf $html2pdf = new HTML2PDF('L','A4', 'fr', false, 'ISO-8859-15'); // écriture des données enregistrées $html2pdf->writeHTML($content); // création du fichier pdf et attribution du nom $html2pdf->Output('exemple09.pdf'); } catch(HTML2PDF_exception $e) { echo $e; } exit; } ?> <form method="get" action=""> <input type="hidden" name="make_pdf" value=""> <!-- Ton nom : <input type="text" name="nom" value=""> - --> <input type="submit" value="Generer le PDF" > </form> <?php // Fermer la connexion. mysql_close(); // si le bouton est cliqué if ($generate) { // enregistrement des données à "imprimer" } else { // Inclure le pied de page include('../Modeles/PPage_Liv.html'); } ?>
Je fais surement quelque chose de faux, mais je n'arrive pas à trouver où

Merci de votre aide et de votre soutien
Gecko 62

Version installé de HTML2Pdf = 4.03