Html2PDF Ubuntu (Class 'HTML2PDF' not found)

Par maxime014, il y a 12 ans


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, il y a 12 ans

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 ;)