Bonjour,
j'ai un petit soucis avec html2pdf.
j'ai développé un site web avec cakephp en localhost sur mon pc windows 8 et j'arrive bien a afficher un pdf simple

mais quand je met en PROD sur un serveur UBUNTU, tout mon site fonctionne nickel SAUF la génération de PDF...

voici ma fonction test() dans mon DossiersController.php

public function test(){
    $bonjour = 'Bonjour';
    $this->set(compact('bonjour'));
    //Configure::write('debug', 0);
    $this->layout = null;
    $this->response->type('pdf');
}

et voici ma page test.ctp

<?php 
     App::import('Lib', 'html2pdf/html2pdf');
        //header('Content-Disposition: inline');
        //header('Content-Type: application/pdf');
        ob_clean();
        ob_start();
    ?>
    <page>
        <h1>TEST</h1>
        <?php echo $bonjour; ?> 
    </page>
<?php
    $content = ob_get_clean();
    //$content = ob_get_clean();
    //$content = utf8_decode($content);
    $pdf = new HTML2PDF('P', 'A4', 'fr');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($content);
       $pdf->Output('/files/bi/BON_INTERVENTION_.pdf');

?>

Le message D'ERREUR :

Error: Class 'HTML2PDF' not found   
File: /var/www/html/suivitech/app/View/Dossiers/test.ctp    
Line: 20

pourtant j'ai bien mon html2pdf dans mon dossier Lib en PROD
mais il n'a pas l'air de trouver la class HTML2PDF
Quelqu'un aurait-il une idée du problème ?

Cordialement,

Maxime

1 réponse


maxime014
Auteur
Réponse acceptée

Problème réglé...

il semblerait que le

App::import('Lib', 'html2pdf/html2pdf');

ne fonctionne pas comme il faut sur Ubuntu...

j'ai donc ajouté à la main le chemin d'accès à la class HTML2PDF :

test.ctp

<?php

    $content = ob_get_clean();
    //$content = ob_get_clean();
    //$content = utf8_decode($content);
    require_once('/var/www/html/monprojet/app/Lib/html2pdf/html2pdf.php'); // Ligne à ajouter
    $pdf = new HTML2PDF('P', 'A4', 'fr');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($content);
       $pdf->Output('/files/bi/BON_INTERVENTION_.pdf');

?>

Voilà ... en espérant que ça puisse aider pour d'autres ;)