1

Bonjour,
dans mon contexte d'emploi d' html2pdf,
j'utilise la classe de transformation en mode silencieux pour ainsi dire : c'est-à-dire sans rendu "inline" du pdf (argument "F"):
               // marqueur de début d'enregistrement de stdout
               ob_start();

               // conversion HTML => PDF
               require_once('html2pdf/html2pdf.class.php');
               $html2pdf = new HTML2PDF('P','A4', 'fr', false, 'ISO-8859-15', array(15, 5, 15, 5));
               $html2pdf->pdf->SetDisplayMode('fullpage');
               $html2pdf->writeHTML($htmlContent, false);
               $html2pdf->Output($targetGeneratedPDF,"F");

               $content = ob_get_clean();
               // marqueur de fin d'enregistrement de stdout
               if ($content != "") {
                   // si une impression a été effectuée sur stdout, ce n'est pas normal, une exception est levée.
                   throw new Exception("Erreur pendant la génération PDF :" . $content);
               }


mon problème intervient lorsque le code HTML à transformer comporte un élément non pris en charge (ou toutes autres erreurs...).

Dans ce(s) cas, une erreur est levée puis transmise en HTML via "echo" sur la sortie sandard (fonction html2pdf.class::makeError(...) line 5924)
Et un exit est ensuite invoqué (ligne 5977)

Je trouve cet exit un peu rude, car où l'on ne peut plus rien envisager ensuite.

En effet, on ne peut récupérer l'erreur html du stdout via un ob_start à cause de cet exit..

Qu'en pensez-vous ? pour les prochaines versions ..

Merci
Boly

2

cela parrait judicieux en effet smile

je pense que je rajouterais une méthode disableExitAfterError() dans une prochaine version. Quand elle sera utilisée, le exit sera transformé en une exception qui serra récupérable par un try catch. bien sur , ceci ne sera présent que dans la version PHP5
Ancien pseudo : lolo