Bonjour,

J'utilise HTML2PDF afin d'éditer des listes d'inscriptions.
Tout fonctionne très bien hormis un petit détail... Sur la première page de mon PDF il y a <!DOCTYPE html> un saut de page et ma liste je ne comprends pas pourquoi.
Je suis sure que c'est tout bête mais j'ai fais plusieurs recherches infructueuses.

Merci de vos réponses

Ju

11 réponses


Bonjour,

Peux tu nous montrer ton code servant à générer le pdf stp ?

Bonjour.
Je ne vois pas comment nous pourrons t'aider avec si peu d'information.
Tu pourrais par exemple nous montrer le code correspondant.

Sans vouloir abuser de ta patience, pourrai tu editer ton message, et mettre tout ton code dans la balise code prévu stp ? C'est dur à lire là

ju74210
Auteur

Oui je vois que c'est compliqué à lire mais j'ai un peu de mal à utiliser la balise code...

Tu ouvre la balise code avec l'apostrophe de la touche 7 (surement alt + 7)

ju74210
Auteur

première partie du code :

<?php
//génération du PDF
ob_start();
?>
<?php
session_start();
//connexion BDD
include("../includes/connexion_bdd.php");

//Verification du champ a saisir
if (isset($_POST['nomEnfant']))
    $Enfant = $_POST['nomEnfant'];
else
    $Enfant = "";

//on trouve les données de l'enfant saisi dans le formulaire appartenant au parent connecté
$req = $bdd->prepare('SELECT * 
                        FROM enfant
                        INNER JOIN jointure_par_enf
                        ON jointure_par_enf.idEnf = enfant.idEnf
                        WHERE jointure_par_enf.parId = ? and jointure_par_enf.idEnf = ?;');
$req->execute(array($_SESSION['parId'], $Enfant));
while ($resultat = $req->fetch()) {
    $nomEnfant = $resultat['nomEnf'];
    $prenomEnfant = $resultat['prenomEnf'];
}
$req->closeCursor();
?> ```
ju74210
Auteur

suite :

<page backtop="15mm" backleft="10mm" backright="10mm"> 
    <table>
        <tr>

            <td>
                <?php
                // on écrit
                echo "Récapitulatif d'inscription pour :", ' ', $nomEnfant, ' ', $prenomEnfant;
                ?>
            </td>
        </tr>
    </table>
    <br />
    <br />
    <br />
    <table>
        <tr>
            <td>
                <?php
                //On cherche les inscriptions enrengistrées pour l'enfant concerné
                $req1 = $bdd->prepare('SELECT * FROM inscription WHERE NomEnf = ? and PrenEnf = ?');
                $req1->execute(array($nomEnfant, $prenomEnfant));
                $resultat1 = $req1->fetchAll();
                foreach ($resultat1 as $donnees1) {
                    //on reagrde les inscription à oui
                    if ($donnees1['lundiam'] == "oui") {
                        $lundiam = 'Lundi';
                    }
                    if ($donnees1['lundipm'] == "oui") {
                        $lundipm = 'Lundi';
                    }
                    if ($donnees1['mardiam'] == "oui") {
                        $mardiam = 'Mardi';
                    }
                    if ($donnees1['mardipm'] == "oui") {
                        $mardipm = 'Mardi';
                    }
                    if ($donnees1['mercrediam'] == "oui") {
                        $mercrediam = 'Mercredi';
                    }
                    if ($donnees1['mercredipm'] == "oui") {
                        $mercredipm = 'Mercredi';
                    }
                    if ($donnees1['jeudiam'] == "oui") {
                        $jeudiam = 'Jeudi';
                    }
                    if ($donnees1['jeudipm'] == "oui") {
                        $jeudipm = 'Jeudi';
                    }
                    if ($donnees1['vendrediam'] == "oui") {
                        $vendrediam = 'Vendredi';
                    }
                    if ($donnees1['vendredipm'] == "oui") {
                        $vendredipm = 'Vendredi';
                    }
                    // on vérifie les dates afin de ne pas éditer les semaines passées
                    $now = date(Y - m - d);
                    //si la date de début est supérieure ou égale à la date du jour
                    if ($donnees1['datedeb'] >= $now) {
                        ?>
                    </td>
                    <td>
                        <?php echo "Pour la date du ", ' ', $donnees1['datedeb'], ' ', "au :", ' ', $donnees1['datefin']; ?>
                    </td>
                </tr>
            </table>
            <br />
            <table>
                <tr>
                    <td>
                        <?php echo "MATIN : "; ?>
                    </td>
                    <td>
                        <?php echo ' ', $lundiam, ' ', $mardiam, ' ', $mercrediam, ' ', $jeudiam, ' ', $vendrediam; ?>
                    </td>
                </tr>
            </table>
            <br />
            <table>
                <tr>
                    <td>
                        <?php echo "APRES-MIDI : "; ?>
                    </td>
                    <td>
                        <?php
                        echo ' ', $lundipm, ' ', $mardipm, ' ', $mercredipm, ' ', $jeudipm, ' ', $vendredipm;
                        ?>
                    </td>
                </tr>
            </table>
            <br />
            <br />
            <table>
                <tr>
                    <td><?php
                    }
                }
                ?></td>
        </tr>
    </table>
</page>```
ju74210
Auteur

fin :

<?php
$content = ob_get_clean();
require('../html2pdf/html2pdf.class.php');
try {
    $pdf = new HTML2PDF('P', 'A4', 'fr');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($content);
    $pdf->output('Edition_matin.pdf');
} catch (HTML2PDF_Exception $ex) {
    die($e);
}
?>
ju74210
Auteur

Voilà c'est plus clair je pense j'ai découpé le code en trois partie. Et j'ai supprimé la première édition de code. Merci

ju74210
Auteur

Bonjour,
Mon problème est toujours d'actualité...
Je suis coincée pour la mise en ligne de mon site.
Merci

ju74210
Auteur

Problème résolu,
J'explique pour ceux qui passeraient par là, je faisais un iclude de ma page qui contien la connexion bdd. en haut de cette page figurait le doctype, je l'ai supprimer et mon problème par la même occasion.

Bonne journée et bon dev!