Bonjour à tous,

Je suis tombée sur ce tutoriel qui est parfait pour ce que je veux faire ! Comme la plupart des tutos de Grafikart (que je trouve très bien fait au passage), je décide de reprendre pas après pas le code proposer dans la vidéo pour un, le comprendre et deux, assimiler la méthode.

J'ai intégrer le même code que dans le tuto, mais mon problème est le suivant : en allant sur ma page, rien ne s'affiche ! Pas de "PDF", même pas d'erreur... une page blanche.

J'ai pourtant bien télécharger la classe "HTML2PDF", mis sur mon site et ce code-ci :

<?php
//Pour tester sans BDD
extract(unserialize(file_get_contents('datas.txt')));
/*
$conf => Configuration du site
$p => information projet
$c => information client
$details => détails projet
*/
ob_start();
?>
    <table>
        <tr>
            <td>Hello</td>
        </tr>
    </table>

<?php
//on associe le contenu de la page a une variable
$content=ob_get_clean();
require('html2pdf/html2pdf.class.php');
try{
    $pdf = new HTML2PDF('P','A4','fr');
    $pdf->writeHTML($content);
    $pdf->Output('test.pdf');
}catch{HTML2PDF_exception $e){
    die($e);
}
?>

Je tiens à préciser que je désire intégrer ce module dans un thème WordPress que j'ai fais moi-même... je ne sais pas si il rentrerait en conflit avec ce dernier !

Merci de m'éclairer :D

6 réponses


Soundboy39
Réponse acceptée

Est ce que tu a au moins un fichier PDF de généré ou pas du tout ??

Sinon ce code fonctionne (pour mon projet en tous cas) :

ob_start();
include_once('/includes/template-facture-pdf.php');
$html_bill = ob_get_clean();
require_once('/classes/html2pdf/html2pdf.class.php');
try
{
    $pdf = new HTML2PDF('p', 'A4', 'fr');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($html_bill);
    $pdf->Output('facture_'.$user_id.'.pdf');
    die();
}
catch(HTML2PDF_exception $e)
{
    die($e.''. __LINE__ );
}

Si je me souviens bien le "SetDisplayMode('fullpage');" est assez important.

Bonsoir,

J'ai du utiliser cette classe il y a un an tous pile... je ne me rappel pas avoir eu de soucis particulier mais je n'étais pas dans un contexte Wordpress...

Essaie d'ajouter ceci en haut de ton fichier : "header('Content-type: application/pdf')", normalement HTML2PDF devrait le gérer mais bon on ne sait jamais...

Bonjour,

J'ai essayé de mettre la ligne que tu m'as dis en haut, mais cela ne change rien malheureusement... :(
Malgré tout, j'ai fais pleins de recherche et je ne trouve pas de solution, ça m'exaspère !

Hey,
Merci infiniment... je sais pas pourquoi et qu'elle était mon erreur, mais ça à fonctionner !

Tip top, merci beaucoup :D

Une dernière question...

Comment intégrer une requête SQL dans ce fichier ? Car je souhaite afficher des données depuis ma BDD.
Merci !

Rien ne change, tu procède comme si tu générais une page web.

Tu peu faire ta requête en amont du "ob_start()", puis tu utilise le contenu de ta requête dans le html présent entre le "ob_start()" et le "ob_get_clean()" .