OVH Cloud OVH Cloud

htmldoc & php

5 réponses
Avatar
morice
bonjour,

je viens d'installer la dernière version (1.8.23) de htmldoc sur un serveur
et il marche très bien en ligne de commande

je cherche à l'exploiter via php pour renvoyer le pdf généré vers le browser
et là ça se corse...
voilà la fonction utilisée (fournie avec htmldoc):

function topdf($filename, $options = "") {
# Write the content type to the client...
header("Content-Type: application/pdf");
flush();

# Run HTMLDOC to provide the PDF file to the user...
passthru("htmldoc -t pdf14 --quiet --jpeg --webpage $options
'$filename'");
}

le problème c'est que comme ça j'obtiens dans le navigateur en sortie:
1- soit une page html avec juste:
<p>&nbsp;</p>
2-soit une page html avec juste:
<html><body leftmargin=0 topmargin=0 scroll=no> <embed width=100%
height=100% fullscreen=yes src="urldemapage"></body></html>
3- soit le pdf directement dans mon browser en binaire (ça commence par
%PDF-1.4 %âãÏÓ 1 0 obj<>endobj 2 0 obj ........ )

et je ne sais pas pourquoi, il n'y a strictement aucune différence de code
php pour ces 3 sorties

quelques infos pour cerner le problème:
la 3eme sortie n'apparaisant que suite à une série de tests de débugage,
tests pendant lesquels je ne fait pas appel à htmldoc
ça marche pendant un moment puis je me retouve avec la premiere sortie, je
redébugue et je retrouve mon binaire, etc...
si je fais un ctrl+N sur la 1ere sortie, j'obtiens la 2nde

Je pense avoir un problème de header mais je ne comprend pas du tout...

Si vous avez une idée,
morice

5 réponses

Avatar
loufoque
Tes 2 premiers résultats sont forts étranges
Et pour le troisième, vérifie le content-type reçu par le navigateur.

Pense aussi à afficher toutes les erreurs.
Avatar
morice
"loufoque" a écrit dans le message de
news:bve9r2$rcq$
Tes 2 premiers résultats sont forts étranges
Et pour le troisième, vérifie le content-type reçu par le navigateur.

Pense aussi à afficher toutes les erreurs.


tout a l'air ok pourtant

il y a ça aussi qui me chiffonne, si mon url à transformer est:
- http://www.domaine.com ça passe
- http://www.domaine.com/ ça passe
- http://www.domaine.com/index.html ça ne passe plus


morice

Avatar
loufoque
Message d'origine de morice :

"loufoque" a écrit dans le message de
news:bve9r2$rcq$

Tes 2 premiers résultats sont forts étranges
Et pour le troisième, vérifie le content-type reçu par le navigateur.
Dans ta réponse, tu ne m'as pas indiqué les entêtes reçues par le


navigateur (sous Mozilla, il faut installer LiveHTTP Headers)


Pense aussi à afficher toutes les erreurs.
Tu as bien fait


error_reporting(E_ALL);
ini_set('display_errors', '1'); // (en général, c'est le cas dans
php.ini mais sait-on jamais)
?


Avatar
morice
"loufoque" a écrit dans le message de
news:bvj0m9$fog$
Tu as bien fait
error_reporting(E_ALL);
ini_set('display_errors', '1'); // (en général, c'est le cas dans
php.ini mais sait-on jamais)
?


oui oui bien sûr.

je ne comprend vraiment pas mais j'ai l'impression d'un bug ou d'une
incompatibilité de htmldoc sur le serveur car en reprenant exactement le
script de cette page:
http://www.easysw.com/htmldoc/pdf-o-matic.php
j'ai toujours les memes problèmes alors que depuis leur serveur il n'y en a
aucun.

morice

Avatar
loufoque
Message d'origine de morice :
je ne comprend vraiment pas mais j'ai l'impression d'un bug ou d'une
incompatibilité de htmldoc sur le serveur car en reprenant exactement le
script de cette page:
http://www.easysw.com/htmldoc/pdf-o-matic.php
j'ai toujours les memes problèmes alors que depuis leur serveur il n'y en a
aucun.



Moi non plus je ne comprends pas.
Tout ce que tu peux faire, ce sont des tests avec des scripts
indépendants de ton site.