1

Bonjour
Après avoir installé le répertoire html2pdf sur mon site, j'ai essayé de jouer le petit script d'exemple donné en page d'accueil dans un fichier test.php:

<?php
$content = "
<page>
<h1>Exemple d'utilisation</h1>
<br>
Ceci est un <b>exemple d'utilisation</b>
de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";

require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('mon_doc.pdf', 'D');
?>


j'ai planté à ce niveau là : $html2pdf->Output('exemple.pdf');
j'ai eut une erreur : TCPDF ERROR: Some data has already been output to browser, can't send PDF file

j'ai alors ajouté dans mon test.php : header('Content-Type: application/pdf');
j'ai désormais une autre erreur=>
Un pop UP d'information Adobe Reader avec comme message : Le fichier ne commence pas par '%PDF-'


merci en tout cas, ça à l'ai super comme outil ; j'ai hâte de le faire fonctionner
benjamin

2

En général, lorsque j'ai cette erreur, c'est que ça vient de la page.
La page commence bien par "<?php" ?
Il n'y aurait pas un espace ou une ligne vide avant ?
Rest... In... Peace

3

je ne sais pas si tu as vu, mais j ai modifié mon message.
le pb que j ai maintenant c est :
Un pop UP d'information Adobe Reader avec comme message : Le fichier ne commence pas par '%PDF-'

4

il ne faut pas rajouter d'header spécifique, TCPDF s'en occupe tout seul.

si TCPDF indique que quelque chose a déjà été envoyé au navigateur avant son execution, c'est que c'est le cas...

avant le output, met un header('location: ./'); pour tester, il devrait alors te mettre une erreur plus explicite t'indiquant dans quel fichier et à quelle ligne quelque chose a été envoyé au navigateur
Ancien pseudo : lolo

5

OK je viens de le faire et il me renvoi à ma page d accueil (http://www.monsite.fr/_TEST_/)

j ai oublié de dire que mes page php sont inclus dans un site joomla.

voila ce que j ai fait : j ai uploadé sur mon site tout le répertoire html2pdf (=> .../www/_TEST_/html2pdf)


ensuite j 'essaye d'appeler html2pdf\exemples\exemple00.php (qui est appelé dynamiquement via un article joomla)
et voilà le résultat :
TCPDF ERROR: Some data has already been output, can't send PDF file

CE N EST PAS LA MEME ERREUR (il n'y a pas "to browser")



j'ai cherché dans le code mon erreur est j'ai trouvé ça dans tcpdf.php

alors que mon ancienne erreur c'était
if (headers_sent()) {
$this->Error('Some data has already been output to browser, can\'t send PDF file');

l erreur que j ai actuellement est
if (ob_get_contents()) {
$this->Error('Some data has already been output, can\'t send PDF file');

j ai vu que que ob_get_contents() renvoi le contenu du tampon de sortie sans l'effacer
je ne comprend pas pourquoi c est interprété comme une erreur




je suis un peu perdu là, si qqun a une idée je suis preneur ! merci

6

si tu utilises joomla, il faut lui indiquer que l'action que tu es en train d'executer ne doit pas utiliser le template du site. c'est pour ca que ca n'aime pas... joomla pense que tu lui demande de créer une page web... il faut que tu regardes dans la doc de joomla et sur leur forum
Ancien pseudo : lolo

7

hola señores
no entendi bien si resolvieron el problema o no pero
yo tenia el mismo problema
y solo agregue la
siguiente funcion al principio del archivo con el cual genero mi pdf

lo que agregue fue:

date_default_timezone_set('America/Mexico_City'); //linea que pone la zona horaria en la que uno se encuentra

en fin espero que esto sea

para mi funciono

cuidense nos vemos