OVH Cloud OVH Cloud

Probleme d'affichage des pdf

3 réponses
Avatar
Informatique CARPIMKO
Bonjour,
j'ai un petit souci avec l'affichage de certains pdf dans quelques cas; Avec
Acrobat reader 4 et 6 tous mes pdf s'affichent alors qu'avec la version 5,
certains ne s'affichent pas et la page reste blanche (j'ai différentes
configurations dans l'entreprise et je voudrais comprendre pourquoi cela ne
fonctionne pas. De toute façon, je compte installer la version 6 sur tous
les postes). J'explique la situation.
Je récupère une chaine de carctère compressée qui représente mon fichier
pdf.

$stringComp=fread($fp,$taille);
$stringDecomp=gzuncompress($stringComp);

puis je l'affiche:

header("content-type: application/pdf");
echo $stringDecomp;

Par contre, si je crée mon fichier et que je l'affiche, ca marche. Mais je
voudrais éviter de créer tous les documents

$fp2=fopen($nomDoc,"wb+");
fputs($fp2,$stringDecomp);
header("location:".$nomDoc);

(J'ai simplifié le code au maximum).
Voilà, j'insiste sur le fait que certains pdf s'affichent avec la version 5,
et pour d'autres la page reste blanche :-(

Yannick

3 réponses

Avatar
Guillaume Bouchard
Informatique CARPIMKO wrote:
Je récupère une chaine de carctère compressée qui représente mon fichier
pdf.


L'interet de la compression ? Je viens d'esseyer de compresser un pdf de
1,5MO en gzip, j'obtient un gain de moins de 100Ko, je ne sais pas le
concept, mais je pense que le gain de place est negligeable par rapport
a l'usine à gaz mise en place derriere.

$stringComp=fread($fp,$taille);
$stringDecomp=gzuncompress($stringComp);

puis je l'affiche:

header("content-type: application/pdf");
echo $stringDecomp;


Pourquoi ne pas directement envoyer le lien vers le fichier pdf ? (Ou le
rediriger ? )

header("location:".$nomDoc);


Url absolue ici. Avec un L majuscule a Location.

Je ne sais pas si je repond correctement à la question, mais je n'ai
jamais rencontrer que deux cas de figure:

1) Le fichier pdf generer est unique et son genre, donc on peut le
generer, l'afficher et l'oublier, ce qui apparament fonctionne chez toi.
2) le fichier pdf n'est pas unique, et il varie pas ou peu. Dans ce cas
là, pourquoi pas le generer en statique sur le disque ?

--
Guillaume.

Avatar
Informatique CARPIMKO
Informatique CARPIMKO wrote:
Je récupère une chaine de carctère compressée qui représente mon fichier
pdf.


L'interet de la compression ? Je viens d'esseyer de compresser un pdf de
1,5MO en gzip, j'obtient un gain de moins de 100Ko, je ne sais pas le
concept, mais je pense que le gain de place est negligeable par rapport
a l'usine à gaz mise en place derriere.


Il n'y a pas que des fichiers pdf. En fait je stocke mes fichiers dans un
gros fichier, c'est exactement comme ça que font certains logiciels de ged
(gestion electronique de documents). Sur les tests effectués, la compression
permettait de gagner pas mal de place.

$stringComp=fread($fp,$taille);
$stringDecomp=gzuncompress($stringComp);

puis je l'affiche:

header("content-type: application/pdf");
echo $stringDecomp;


Pourquoi ne pas directement envoyer le lien vers le fichier pdf ? (Ou le
rediriger ? )
Le fichier n'existe pas tout seul. Je récupère la chaine de caractère

compressée dans mon gros fichier à partir d'une base de données. Je
décompresse ensuite la chaine pour récupérer mon fichier.

header("location:".$nomDoc);


Url absolue ici. Avec un L majuscule a Location.

Je ne sais pas si je repond correctement à la question, mais je n'ai
jamais rencontrer que deux cas de figure:

1) Le fichier pdf generer est unique et son genre, donc on peut le
generer, l'afficher et l'oublier, ce qui apparament fonctionne chez toi.
2) le fichier pdf n'est pas unique, et il varie pas ou peu. Dans ce cas
là, pourquoi pas le generer en statique sur le disque ?


1) Oui ca fonctionne sauf avec certains pdf et la version 5 d'acrobat
reader.
2) Je pourrais faire ça. Il faudrait que je connaisse les avantages et les
inconvénients d'un tel système: place sur le disque dur (pas trop génant),
temps de création du fichier (à mon avis plus long que d'afficher
directement le document)... Comment fait-on pour supprimer le document juste
après l'avoir créé ?
Merci
Yannick

--
Guillaume.



Avatar
loufoque
Informatique CARPIMKO wrote:

Par contre, si je crée mon fichier et que je l'affiche, ca marche. Mais je
voudrais éviter de créer tous les documents
Regarde les entêtes qui sont envoyées dans ce cas là.