Bonjour,
j'utilise un bouton pour l'ouverture d'un fichier pdf.
j'utilise readfile() pour le fichier. j'aimerais cependant forcer l'ouverture de ce fichier dans mon navigateur, est ce possible???
merci d'avance
Version imprimable
Bonjour,
j'utilise un bouton pour l'ouverture d'un fichier pdf.
j'utilise readfile() pour le fichier. j'aimerais cependant forcer l'ouverture de ce fichier dans mon navigateur, est ce possible???
merci d'avance
salut
quels headers as-tu envoyés ?
avec un petit
ça passerait je crois... :idea:Code:header('Content-type: application/pdf');
super :) ca marche merci beaucoup
par contre ca ne marche pas sous IE...
vous avez une idée??
Salut !
J'avais eu le même soucis, voilà ce qu'il faut envoyer comme header :
Code:
1
2
3 header('Pragma: private'); header('Cache-control: private, must-revalidate'); header('Content-type: application/pdf');
j'ai toujours le même problème avec IE, ca ne marche pas...
c'est vraiment bizarre
Dis nous en plus sur ton erreur, un screenshot, un message serait le bienvenu !
ce n'est pas une erreurs, mais quand je clic sur le bouton d'ouverture de PDF j'ai un ca :
%PDF-1.4 %Çì¢ 5 0 obj <> stream xœMNMOÂ@ ei—‘EZüB‡¬Ûm³Ý½š/^4{ì #‰IMèÿ?¸ÛjÂL&yyoæÍ;"g™@îúìkàøjçGP,wÕ §x_ã³§…ši‰æ 8ÓZçJ¶r†B–¬PXÊœ …¦†MÏë“Ðaõ³5ß°™=)q×|Âæ¬ÕFNì¸7Ç‘ªé¶k ‡„VMP:>'“Þå4ŠgWñìú& oï> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 /Rotate 0>> endobj 1 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 11 0 obj <> endobj 7 0 obj <> endobj 10 0 obj <>stream xœíYtõµ¿ß_³3»³™ÙÙ_ù»IHƒ&äÖd+ h@ˆ"·*‰)ŸD*ã/¬+UzZñµÒ*FT<ì;U1á)ŪHxþÈC8Ægžì©¦ 3¼;³ Ööô¿wÎ;ÎÝïüÚ™ûãsï÷ÞûÝ^è3g•”³˜€»æ…ËnhK]çl ¶¯ŒN>tUÞèÇñ—Åm7-»ôêý ¿{
et c'est pas tres tres cool...
ton pdf est bien contruit? :mouarf:
ton code pour forcer l'ouverture ressemble a koi stp?
moi aussi j'ai du trouble mais avec firefox...il s'ouvre dans mon navigateur sous ie mon pdf :roll:
je fais ca :
header('Pragma: private');
header('Cache-control: private, must-revalidate');
header('Content-type: application/pdf');
readfile($file);
et ca marche nickel sous firefox, mais pas du tout sous IE...
je viens de lire un truc bizarre dans la doc PHP sur la fonction header().
le problème était le même que le tien et il semblerait que le gars l'ait résolu en désactivant temporairement la compression zlib du serveur avec :
voilou, j'espère que ça marchera pour toi ;)Code:ini_set('zlib.output_compression','Off');
Tu génères le pdf depuis ton application ou bien ou tu veux lire un pdf existant sur le serveur ?
J'ai exactement les mêmes lignes que toi, à l'exception que je n'ai aps readfile ca r je génère mon pdf avec ezPdf, don j'ai $pdf->ezstream(); en dernière ligne à la place.
Je veux "lire" un PDF qui est déjà sur mon serveur...
ca peut venir du paramétrage de IE vous pensez ?
J'ai essayé avec
mais toujours rien...:?Code:ini_set('zlib.output_compression','Off');
Essaye avec :
(C'est ce qu'il y a dans le manuel php)Code:@readfile("$file");
Ca y est je viens d'essayer, mais toujours sans résultat :? :?
c'est bizard que personne n'ait eu ce problème auparavant...
salut
essaie avec ca
chez moi ca fonction sur ie ;)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 $downloadpdf = 'c:test/test.pdf'; //la grosseur du fichier $size = filesize($downloadpdf); header('Pragma: private'); header('Cache-control: private, must-revalidate'); header('Content-type: application/pdf'); //manquait le size header('Content-Length: '.$size); readfile($downloadpdf);
et bien ca ne marche pas non plus...
je pense que je ne suis pas loin d'avoir tout essayé...mais toujours sans succès...que faire??
ca ne fonctionne pas?
c'est bizar ca
est ce qu'il faut absolument que ton pdf s'ouvre dans le navigateur?
au pire tu peux forcer le téléchargement non?
en fait, je fais cela pour faire un apercu d'un fichier...
donc c'est pour ca que je veux seulement le visualiser dans le navigateur
mais en fait juste pour faire un apercu...
ca va forcer ton usager a faire un back avec les bouton de navigation...
moi ca m'embette...tu l'ouvre dans une autre fenetre?
si tu force le download...tu click ouvrir et il l'ouvre directement...ca donne un appercu aussi non?
en tk y doit y afoire quelque chose avec le reglage de tes parametre option internet pour pas que ca ouvre...moi ce bout de code fonctionne très bien
ta référence est faite comment??
c'est un lien que tu click apercu de pdf?
J'ouvre directement dans une nouvelle fenêtre:
le code que j'ai mis est :
ceci est exécuté apres le clic sur un bouton, et ca marche nickel dans firefox...Code:
1
2
3
4
5
6
7 $size = filesize($file); header('Pragma: private'); header('Cache-control: private, must-revalidate'); header('Content-type: application/pdf'); header('Content-Length: '.$size); readfile($file);
ton code de bouton appel une nouvelle page?? (popup)Citation:
Envoyé par djibril38
car dans le click du bouton c'est du javascript que tu y met non?
oui oui j'ai du javascript pour mon bouton, je mets un onClick(), et aprés je fais mon action...
tu as une idée?
Salut
bon j'ai fait quelque test
ca semble ouvrir dans une popup
c'est pas trop shick car c'est fait vite mais bon ca donne une idée
le code de la page download est comme suitCode:
1
2
3
4
5
6
7
8
9
10
11 //le bouton appelant <input type="button" value="click" onclick="javascript:testing('./download.php?type=pdf&file=rappel.pdf&dossierPath=C:GDRBD/ListeRappel/');"> //fonction js <script type="text/javascript" language="javascript"> function testing(url){ window.open(url,"pop1","width=1000,height=1000"); } </script>
alors ca m'ouvre une popup de 1000x1000 avec le pdf à l'intérieurCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <? //Récupération des variables $fichier = $_GET['file']; $path = $_GET['dossierPath']; $downloadurl = $path . $fichier; $size = filesize($downloadurl); header('Pragma: private'); header('Cache-control: private, must-revalidate'); header('Content-type: application/pdf'); header('Content-Length: '.$size); readfile($downloadurl); ?>
a noter que ton pdf doit etre sur le serveur!
dac, c'est super simpa, je vais essayer tout ca...
je te tiendrai au courant
merci encore