KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 02:51:00

Télécharger PDF

Rechercher : dans
Télécharger PDF
par Kopernicus
 Fil de Discussions
Statut : Non résolu
lundi 30 décembre 2002 à 00:45:46
Bonsoir,
Voil@, sur mon site, je souhaite faire télécharger des fichiers pdf. Quand on clique sur le lien, le fichier s'ouvre ds Acrobat Reader. Comment faire pour empêcher celui-ci de s'ouvrir avc le fichier et forcer l'affichage de la traditionnelle fenêtre de téléchargement du navigateur ?
A vos idées, merci.
@@@
Répondre à Kopernicus  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Eaulive, le lundi 30 décembre 2002 à 06:57:04 Fil de Discussions
À moins que je ne me gourge, ce sont les propriétés de ton navigateur qu'il faut revoir. Dans mon cas avec IE6, le document .pdf s'affiche dans la fenêtre de mon navigateur car acrobat reader est pris en charge par IE (ou l'inverse ;-), mais avec NS7, j'ai une fenêtre acrobat qui s'ouvre à part.

SLU ;-)

Si tu n'es pas sûr de comprendre la réponse,
ne pose pas la question...
Eaulive.
Répondre à Eaulive

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ipl, le lundi 30 décembre 2002 à 09:48:12 Fil de Discussions
Bonjour Kopernicus, Eaulive, bonjour à tous,

Eaulive, si j'ai bien compris, Kopernicus ne veux pas que le pdf ouvre une fenêtre Acrobat Reader, ni dans IE ni à part, il voudrait, dans son cas, faire ouvrir la boîte de téléchargement.

Kopernicus, ta question m'interesse mais je ne sais pas répondre.. à part un clic droit et "enregistrer la cible sous..." ou enregistrer au format .zip.

@12C4
Ipl
Répondre à ipl

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Eaulive, le lundi 30 décembre 2002 à 18:05:56 Fil de Discussions
Bonjour à vous deux.

Tu as raison Gérard, il était tard et j'avais mal compris ;-)

Pour la solution je n'en vois pas d'autre non plus pour l'instant.

Si tu n'es pas sûr de comprendre la réponse,
ne pose pas la question...
Eaulive.
Répondre à Eaulive

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ipl, le lundi 30 décembre 2002 à 18:11:39 Fil de Discussions
Rebonsoir à tous,

Enfin CCM en ligne ! :-)

@12C4
Ipl
Répondre à ipl

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Eaulive, le lundi 30 décembre 2002 à 18:12:56 Fil de Discussions
Ah bon, il était tombé???

Je viens juste d'arriver ;-)

Si tu n'es pas sûr de comprendre la réponse,
ne pose pas la question...
Eaulive.
Répondre à Eaulive

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ipl, le mardi 31 décembre 2002 à 00:12:28 Fil de Discussions
Hello Eaulive,

Oui CCM est tombé entre 9h30 et 18h :-(

@12C4
Ipl
Répondre à ipl

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Kopernicus, le mardi 31 décembre 2002 à 00:44:02 Fil de Discussions
Bonjour à Eaulive, ipl et les autres
En effet, je ne souhaite pas que Acrobat s'ouvre. Mais je ne veux pas non plus recourir au clic droit car pas tjrs respecté. Je voulais aussi éviter la compression, mais apparemment il n'y a pas de solution pour empêcher ce Reader d'Acrobater. Donc je vais ziper.
Merci à tous.
@@@
Répondre à Kopernicus

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ipl, le mardi 31 décembre 2002 à 10:53:40 Fil de Discussions
Bonjour Kopernicus, bonjour à tous,

Je me souviens (trop vaguement) d'un fil de discussion semblable sur All-Html au sujet de fichiers Word à télécharger et non à ouvrir dans l'app !
Un membre (pilier) d'ALL-Html avait un programme développé par sa soc. qui faisait çà sans problème... çà c'était en fin 2001... je crois me souvenir que c'était un Canadien... il faudrait :
-demander à Bobinours si çà lui rappelle quelque chose
-faire quelques recherches sur le forum
-reposer la question là-bas
(j'avais aussi récupéré le programme sur mon disque dur, parmi les milliers d'autres prgrammes).

Kopernicus... as-tu grand besoin de cette fonction ? veux-tu déclancher une "procédure plus lourde" (telle que décrite ci-dessus) ?

@12C4
Ipl
Répondre à ipl

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Kopernicus, le mardi 31 décembre 2002 à 22:23:16 Fil de Discussions
Bonjour à tous
Je te remercie bcp ipl. Le pb ne se pose pas avc word : il ne s'execute pas avc les docs word, c'est la fenetre de téléchargement qui s'ouvre.
En fait, je n'ai pas envie de me casser la tete avc ça, je n'ai que 3 docs pdf, donc je les ai zipés.
Bonne année à tout le monde.
@++
Répondre à Kopernicus

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bobinours, le jeudi 2 janvier 2003 à 06:14:57 Fil de Discussions
Arf, justement on parle de moi ;-)

Eaulive, c'est effectivement une configuration du navigateur, mais cela peut être forcé grace à l'entête HTTP.

Kopernicus : Ce n'est pas très compliqué si tu utilises un langage serveur. Voici comment faire avec PHP : http://www.php.net/manual/fr/function.header.php

<?php
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=downloaded.pdf");

/* ... output pdf file ... */
?>

En gros, il te faut faire un lien vers un fichier PHP qui envera un entête HTTP approprié à l'aide de la fonction HEADER() et dans lequel on ouvrira le fichier PDF et on PRINTera son contenu.

Le nom du fichier pourra être mis en paramètres du fichier d'URL pour rendre générique.
(Attention ! Dans ce cas il faut sécuriser pour ne par qu'on puisse télécharger n'importe quel fichier comme un fichier PHP ou un fichier avec des mots de passe...).

-= Bobinours - http://bobin.underlands.org =-
Répondre à Bobinours

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Kopernicus, le jeudi 2 janvier 2003 à 16:02:36 Fil de Discussions
Bonjour;

Je te remercie Bobinours. Malheureusement, je développe en ASP.
N'y aurait-il pas simplement un paramètre à rajouter dans la ligne de commande ?

@++
Répondre à Kopernicus

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Kopernicus, le jeudi 2 janvier 2003 à 16:07:54 Fil de Discussions
... PS : Sebsauvage aurait peut-être une solution; il a une rubrique sur le sujet dans son site.

@++
Répondre à Kopernicus

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bobinours, le jeudi 2 janvier 2003 à 16:32:48 Fil de Discussions
Je ne sais pas comment écrire dans le Header HTTP en ASP, mais c'est quasiment certain que c'est faisable. Pour le reste, le principe reste le même.

-= Bobinours - http://bobin.underlands.org =-
Répondre à Bobinours

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sebsauvage, le lundi 6 janvier 2003 à 11:05:22 Fil de Discussions
me v'là. Bonne année à tous.

Pour les PDF:

En envoyant le type MIME application/pdf (ce qui devrait en principe être utilisé pour les PDF), tu ne sais pas à l'avance comment se comportera le navigateur de l'internaute (ouverture directe du PDF dans le navigateur ou sauvegarde).

C'est pour cela qu'il est généralement préférable de choisir le type MIME application/octet-stream.
La grande majorité des navigateurs proposera de sauvegarder le fichier.


Et quand on ne peut pas avoir le contrôle des types MIME renvoyés par le serveur HTTP (ex: hébergeurs gratuits), mieux vaut le zipper (dans ce cas, la majorité des seveurs HTTP utilisent le type application/octet-stream, application/zip ou application/x-zip-compressed).
Répondre à sebsauvage

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bobinours, le lundi 6 janvier 2003 à 11:57:54 Fil de Discussions
Salut sebsauvage,
Je ne suis pas tout à fait d'accord avec toi.

"application/octet-stream" est utilisé pour les fichiers dont on ne connait pas le format (à défaut d'être un flot de données).
Sous Mozilla, les fichier octet-steram sont enregistrés sans extension.

Alors qu'il existe le "Content-Disposition" prévu à cet effet ;-)

-= Bobinours - http://bobin.underlands.org =-
Répondre à Bobinours

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sebsauvage, le mardi 7 janvier 2003 à 10:04:44 Fil de Discussions
Autant pour moi !
Je n'ai jamais lu la RFC jusqu'au bout :-.
Répondre à sebsauvage

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bobinours, le mardi 7 janvier 2003 à 10:25:19 Fil de Discussions
Je te rassure, moi non plus ;-)

-= Bobinours - http://bobin.underlands.org =-
Répondre à Bobinours

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Kopernicus, le lundi 6 janvier 2003 à 15:20:00 Fil de Discussions
Bonjour à tous,

Pour info, voici une réponse que j'ai eue dans un autre forum (solution en-tête en asp) :

Response.AddHeader "content-disposition","attachment; filename=tonfichier.pdf"

NB : je n'ai pas vérifié...
Bonne journée.
@++
Répondre à Kopernicus

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Bobinours, le lundi 6 janvier 2003 à 19:32:52 Fil de Discussions
Je préfère nettement ça, kopernicus, qui semble correspondre à la notation que j'indiquais en PHP.

-= Bobinours - http://bobin.underlands.org =-
Répondre à Bobinours

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par gio, le mercredi 25 août 2004 à 15:09:30 Fil de Discussions
je suis tomber dessus par hazard et moi aussi j'en ai ch... avec les plugins senser nous faciliter la vie...

voici un script php...


+++++++++++++++++++++
<?php

$file = $_GET["file"];
download($file);
function download($file, $name = false, $type = false, $down = true) {
if(!file_exists($file)){
print "error";
exit;
}
if(!$name) $name = basename($file);
if($down) $type = "application/force-download";
else if(!$type) $type = "application/download";
$disp = $down ? "attachment" : "inline";
#header ("HTTP/1.0 204 No Content" );
header("Content-disposition: ".$disp."; filename=$name");
header("Content-length: ".filesize($file));
header("Content-type: ".$type);
header("Connection: close");
header("Expires: 0");

readfile($file);
exit;
}
?>
++++++++++++++++++++++++++

ca marche avec toutes les extensions

pour le faire fonctionner

http://www.monsite.com/download.php?file=monfichier.pdf

voilou....

a+ gio
Répondre à gio

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par riri974, le mardi 24 juillet 2007 à 18:59:30 Fil de Discussions 
je me suis permis de reprendre ton code et de rajoute une sécurité :

<?php
if(($_GET['type']=='pdf')||($_GET['type']=='zip'))
{
$file ="./".$_GET['file'].".".$_GET['type'];
download($file);
}
else
exit("type de fichier interdit");


function download($file, $name = false, $type = false, $down = true)
{
if(!file_exists($file)){
print "error";
exit;
}
if(!$name) $name = basename($file);
if($down) $type = "application/force-download";
else if(!$type) $type = "application/download";
$disp = $down ? "attachment" : "inline";
#header ("HTTP/1.0 204 No Content" );
header("Content-disposition: ".$disp."; filename=$name");
header("Content-length: ".filesize($file));
header("Content-type: ".$type);
header("Connection: close");
header("Expires: 0");

readfile($file);
exit;
}
?>
Répondre à riri974