Générer un fichier PDF avec HTML2PDF

jeremiefadim Messages postés 2 Date d'inscription mercredi 9 mai 2018 Statut Membre Dernière intervention 11 mai 2018 - 9 mai 2018 à 19:24
jeremiefadim Messages postés 2 Date d'inscription mercredi 9 mai 2018 Statut Membre Dernière intervention 11 mai 2018 - 11 mai 2018 à 10:18
Bonjour,
Je suis sur un projet de conception d'une appli qui permet d'enregistrer les adhésions faites par les promoteur dans une base de données. Ensuite, on doit pouvoir chaque mois afficher les adhésions par promoteur et sur une période précise que l'on devra imprimer ou générer en PDF. Pour cela j'utilise la Classe HTML2PDF mais avec les requêtes préparé la page pdf affiche que les informations de l'entete de page et de tableau mais n'affiche pas les info de la base. Aucune erreur ne s'affiche non plus.
J'ai besoin de votre aide.
voici mon code
<?php
$nom = $_GET['NomPro'];
$prenom = $_GET['PrenomPro'];
$dated = $_GET['dated'];
$datef = $_GET['datef'];
/*connexion à la base de données */
require_once('connexion.php');

//Requête pour afficher les adhesions faites par un promoteur sur une période donnée
$ps = $bdd->query("SELECT Mb.Nom, Mb.Prenoms, Mb.Tel, Mb.Adresse, Mb.Date_Adhesion,
                              Mb.Profession, Mb.NumCompte, Mb.sexe
                            FROM membre AS Mb, promoteur AS Pt
                          WHERE Mb.idMembre = Pt.CodeMembre AND Pt.NomPromoteur = '$nom'AND Mb.Prenoms = '$prenom'AND Mb.Date_Adhesion BETWEEN '$dated' AND '$datef' ORDER BY Nom");


/* Debut de la temporisation de sortie*/
ob_start();
?>
    <page backleft="3%" backtop="12%" backright="3%" footer="date; heure">
        <page_header backleft="10%" backtop="1%">
            <img src="images/entete.PNG" border="none" />
        </page_header>
        <table style="margin-top: 25px">
            <tr>
                <td style="width: 75%;">
                    <strong>Nom: <?php echo $nom ?></strong><br/>
                    <strong>Prenoms: <?php echo $prenom ?></strong>
                </td>
                <td style="width: 25%;">
                    <em style="color: #a51926;">Periode du <?php echo $dated ?></em><br/>
                    <em style="color: #a51926;">Au <?php echo $dated ?></em>
                </td>
            </tr>

        </table>
        <h3 style="text-align: center">Adhesion effectuer au mois de ............</h3>
        <table >
            <tr style="border-radius: 1px solide black">
                <th style="width: auto; height: 3%; border: 1px solide grey">Num</th>
                <th style="width: 25%; height: 3%; border: 1px solide grey">Nom & Prenoms</th>
                <th style="width: 10%; height: 3%; border: 1px solide grey">Telephone</th>
                <th style="width: 15%; height: 3%; border: 1px solide grey">Adresse</th>
                <th style="width: 16%; height: 3%; border: 1px solide grey">Date d'adhesion</th>
                <th style="width: 15%; height: 3%; border: 1px solide grey">Profession</th>
                <th style="width: 10%; height: 3%; border: 1px solide grey">Compte</th>
                <th style="width: 4%; height: 3%; border: 1px solide grey">Sexe</th>
            </tr>

            <?php

            /*Affichage du resultat */

            $i = 1;
            while ($donnees = $ps->fetch()) {;?>
                <tr>
                    <td style="border: 1px solide grey; height: 2%"><?php echo $i ?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Nom'])." ".($donnees['Prenoms'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Tel'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Adresse'])?></td>
                    <td style="border: 1px solide grey; height: 2%; text-align: right"><?php echo ($donnees['Date_Adhesion'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Profession'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['NumCompte'])?></td>
                    <td style="border: 1px solide grey; height: 2%; text-align: center"><?php echo ($donnees['sexe'])?></td>
                </tr>

                <?php $i++ ;}?>

        </table>
        <table style="margin-top: 50px">
            <tr style="text-align: right">
                <td><strong>Chef d'Agence</strong></td>
            </tr>
        </table>
        <page_footer>
            <table>
                <tr>
                    <td style="text-align: center">Page [[page_cu]]/[[page_nb]]</td>
                    <td style="text-align: right"><em><small>xxxxxxx </small></em><sup>©</sup></td>
                </tr>
            </table>
        </page_footer>
    </page>

<?php
$content = ob_get_clean();
ob_end_clean();
//die ($content);
require_once ('html2pdf/html2pdf.class.php');
try{
    $pdf = new HTML2PDF('P', 'A4', 'fr', 'true', 'UTF-8');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($content);
    $pdf->pdf->IncludeJS('print(true)');
    $pdf->Output('print.pdf');
}catch (HTML2PDF_exception $e){
    die($e);
}
?>

1 réponse

jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié le 9 mai 2018 à 20:41
0
jeremiefadim Messages postés 2 Date d'inscription mercredi 9 mai 2018 Statut Membre Dernière intervention 11 mai 2018
11 mai 2018 à 10:18
Ok Merci Jordane je vais voir ça et je reviend
0
Rejoignez-nous