Gribouille26 Posté 5 Avril 2004 Posté 5 Avril 2004 Salut, Je voudrais proposer des documents PDF en telechargement sur mon site. J'ai fait quelques recherches, mais je ne comprend pas pourquoi tout le monde par de "forcer" le telechargement! Je ne veux forcer personne!!! Si quelqu'un pouvais me donner quelques explications!
Berberber Posté 5 Avril 2004 Posté 5 Avril 2004 (modifié) peut etre que forcer veut dire, ne pas proposer d'alternative au telechargement, en html par exemple Modifié 5 Avril 2004 par textalyser
ams51 Posté 5 Avril 2004 Posté 5 Avril 2004 Quand tu mets un pdf en ligne il ne se télécharge pas quand le visiteur clique dessus mais il s'ouvre dans le navigateur. C'est peut etre pour ça qu'il faut "forcer" le téléchargement plutot que l'ouverture du document (?)
Gribouille26 Posté 5 Avril 2004 Auteur Posté 5 Avril 2004 Ah, je crois qu'on tient une piste! Ca semble très logique.... "Quand un clic sur un lien vers un doc PDF, il s'ouvre! D'où forcer le telechargement." On avance. Va t'on avoir un piti code?
Country Posté 5 Avril 2004 Posté 5 Avril 2004 Voici un petit code pour frocer le téléchargement du fichier PDF: $file = "document.pdf";header("Content-Type: application/pdf");header("Content-Length: ".filesize($file));header("Content-Disposition: attachment; filename=".$file);header("Location:".$file); Ici on force le téléchargement de document.pdf
Gribouille26 Posté 5 Avril 2004 Auteur Posté 5 Avril 2004 Merci, mais je place ça où? Et le lien, je le fais comment?
Country Posté 5 Avril 2004 Posté 5 Avril 2004 Tu peut mettre juste if (ereg(".pdf",$_GET[file])) {header("Content-Type: application/pdf");header("Content-Length: ".filesize($_GET[file]));header("Content-Disposition: attachment; filename=".$_GET[file]);header("Location:".$_GET[file]);} dans une page(par exemple pdf.php), et appeler cette page par un lien comme celui-ci : <a href="pdf.php?file=document.pdf">Télécharger le fichier pdf</a> PS: Le ereg(".pdf",$_GET[file]) c'est pour vérifier que le fichier à bien l'extension .pdf (sécurité).
Gribouille26 Posté 5 Avril 2004 Auteur Posté 5 Avril 2004 D'accord, Alors je met ce code (seul?) sur une page que j'appelle: appelpdf.php Ensuite, sur une page de mon site, je place ceci: <a href="appelpdf.php?file=document.pdf">Télécharger le fichier pdf</a> où document est le nom de mon doc .pdf. Et dans le code de la première page, je met [file] ou je remplace file par document? Merci de ta patience...
Country Posté 5 Avril 2004 Posté 5 Avril 2004 Et dans le code de la première page, je met [file] ou je remplace file par document? non, normalement dans ce code tu n'a rien a changer (si je n'ai pas fait de faute )
Gribouille26 Posté 6 Avril 2004 Auteur Posté 6 Avril 2004 J'ai essayé, mais ça marche pas! J'ai recopier le code encadré dans une page appelpdf.php, puis un lien vers cette page comme tu me le disait, mais ça marche pas!? Si vous voullez jetter un oeil.... http://epiceequitable.free.fr/association/association01.htm
Gribouille26 Posté 6 Avril 2004 Auteur Posté 6 Avril 2004 J'ai fini par trouver un code qui marche très bien: Créé une page nommée x.php avec ce code (ne pas sauter de ligne avant ou dans le code!!!): <? header("Content-type: application/pdf"); header("Content-Disposition: attachment; filename=$pdf"); readfile($pdf); ?> Le recopier tel quel, ne rien changer. Puis sur la page voulue, mettre un lien de la forme: <a href="x.php?pdf=y.pdf">Télécharger le pdf</a> Où y.pdf est le nom de votre document pdf. Voilà, c'est tout simple. Attention, dans cet exemple tout les fichiers sont dans le meme répertoire!! Ca marche sous IE et Mozilla.
Country Posté 7 Avril 2004 Posté 7 Avril 2004 en effet ce code marche (il faudrai que je revoi le mien ) mais il faudrait penser à vérifier si le fichier à télécharger à bien l'extention pdf, parce que là par exemple si j'appel la page avec x.php?pdf=index.php et bien je récupère tout le code source de l'index du site, un très gros trou de sécurité donc.
LaurentDenis Posté 12 Avril 2004 Posté 12 Avril 2004 Quand tu mets un pdf en ligne il ne se télécharge pas quand le visiteur clique dessus mais il s'ouvre dans le navigateur. C'est peut etre pour ça qu'il faut "forcer" le téléchargement plutot que l'ouverture du document (?) Hum... Pourquoi compliquer inutilement les choses et vouloir "forcer" un comportement chez l'utilisateur ? Il a le choix, avec les seuls fonctions de son navigateur, entre : - cliquer le lien avec ouverture éventuelle dans son navigateur - choisir dans son menu contextuel "enregistrer la cible sous..." (ou autre équivalent). Bref, ce type de fonctionnalité devrait être laissé côté client, avec de simples liens directs du type : <a href="blabla.pdf" title="pdf">bla bla</a>
Monique Posté 12 Avril 2004 Posté 12 Avril 2004 Bref, ce type de fonctionnalité devrait être laissé côté client, avec de simples liens directs du type : <a href="blabla.pdf" title="pdf">bla bla</a> Bonjour, Je suis du même avis, à une condition : que le format soit clairement identifiable, au minimum dans la barre d'état, au mieux par une note à côté du lien. D'une manière générale, je trouve très désagréable de cliquer sur un lien qui ouvre autre chose qu'une page Web sans être prévenue.
LaurentDenis Posté 12 Avril 2004 Posté 12 Avril 2004 (modifié) Bonjour, D'une manière générale, je trouve très désagréable de cliquer sur un lien qui ouvre autre chose qu'une page Web sans être prévenue. a[title~=pdf]:after { content: "\00A0[Ceci est un affreux PDF]"; } Modifié 12 Avril 2004 par LaurentDenis
Gribouille26 Posté 21 Avril 2004 Auteur Posté 21 Avril 2004 Denis: c'est quoi ce code? Je pense mettre un lien vers l'ouverture de mon pdf et un autre vers son enregistrement ainsi chacun est averti et libre de faire ce qu'il veut.
LaurentDenis Posté 21 Avril 2004 Posté 21 Avril 2004 (modifié) a[title~=pdf]:after { content: "\00A0[Ceci est un affreux PDF]"; } est une règle CSS de "contenu généré" : dans les navigateurs respecteux de CSS2, tout lien du type : <a href="..." title="attention: document pdf">...</a> sera suivi de la mention [ceci est un affreux PDF] Le principe est simple : -le sélecteur a[title~=...] stipule que ça s'applique aux liens qui ont un attribut title d'un certain type -le sélecteur :after stipule que ça doit intervenir juste après les liens en questions -la règle content... signifie qu'il faut ajouter ce qui suit dans la page à cet endroit. Bref, au moment où il applique la CSS à la page, le navigateur ajoute le contenu en question là où on lui demande C'est apparemment génial... sauf que : - ça ne marche pas dans IE, qui ne gère pas les contenus générés, - ça ne marche pas dans tout autre navigateur ou media qui ignore les feuilles de styles. Donc, c'était plutôt un clin d'oeil à Monique qu'une recommandation. Le plus simple est d'écrire en toute lettres dans sa page : <a href="..." title="attention: document pdf">...</a> (PDF). Modifié 21 Avril 2004 par LaurentDenis
Denis Posté 21 Avril 2004 Posté 21 Avril 2004 Je suis tout à fait d'accord avec mes illustres collègues Laurent et Monique. Pour ce que mon opinion vaut, je trouve que forcer le téléchargement est une pratique que je ne saurais encourager. Tout d'abord, l'utilisateur doit vivre avec le fait qu'il est pris dans une voie qu'il ne souhaitais pas (lancer une application, s'il la possède). Deuxièmement le PDF est un format propriétaire et pas accessible qui laisse certains utilisateurs de côté. Pourquoi ne pas recourir à du bon vieux HTML pas propriétaire pour deux sous ? La mise en page de tes pdf est-elle si compliquée que tes documents doivent absolument être présentés sous ce modèle ? Si oui, alors je te suggère d'y aller avec la porposition de Laurent pour définir par CSS un message d'avertissement au utilisateurs... Ce sera un moindre mal... en autant qu'ils supportent également CSS.
LaurentDenis Posté 21 Avril 2004 Posté 21 Avril 2004 Denis, je suis franchement revenu de ma vieille hostilité au pdf depuis que : - j'ai vu que ce n'était pas tout à fait un "document de verre" figé, quand on prend la peine de faire un bon pdf, c'est à dire autre-chose qu'un bête scan papier ; - le format propriétaire adobe joue le jeu des formats ouverts ; - OpenOffice en particulier permet de gérer du pdf. Tout ceci, à partir du moment où : - on ne privilégie pas le pdf sur un html correctement imprimable (une css d'impression suffit pour un coût minime) - on réserve le pdf aux documents qu'il serait trop coûteux de convertir en html, donc originellement "papier" - ou bien on propose les deux formats en alternative "pdf ou html". Finalement, en tant qu'utilisateur, je préfère un pdf propre que je peux lire à tête reposée à un html inimprimable ou trop coûteux pour moi à imprimer pour cause de balisage lamentable où les menus... ne peuvent être virés.
Denis Posté 21 Avril 2004 Posté 21 Avril 2004 Je suis bien sûr d'accord avec toi... mais je préfèrerai toujours un bon document HTML capable de basculer à l'imprimé en un format adapté qu'un pdf qui me forcera au format... ne serait-ce que pour l'aspect d'universalité du format HMTL. Dans mon cas, c'est purement idéologique puisque je ne souffre pas d'exclusion à ce niveau là, mais lorsqu'un expert en accessibilité reconnu mondialement me confie que le PDF accessible est possible en théorie mais une belle utopie en réalité, je ne peux endosser complètement le format propriétaire d'Adobe, pas plus que je ne peux endosser le format Flash. Macromedia joue aussi le jeu du format propriétaire qui essaie de devenir sensiblement ouvert, mais il n'en demeure pas moins très ardu de faire du Flash accessible (qui peut aujourd'hui se vanter de pouvoir expliquer en une page comment faire ?). Dès le départ, le format est encapsulé. Travailler à le rendre accessible, c'est bien mais il ne faut pas oublier qu'au départ, pas sa propre nature, le format est exclusif. Ceci dit, je sais apprécier un beau pdf bien construit pour lire à tête reposée au lit avant de dormir... ça me rapproche du livre... mais comme le HTML et les CSS le permettent aussi, le format est de moins en moins pertinent dans la plupart des cas.
LaurentDenis Posté 21 Avril 2004 Posté 21 Avril 2004 (modifié) Hum... Une différence, il me semble, d'après ce qu'Eric Daspet est venu me dire sur http://www.blog-and-blues.com/2004/avril/1...d_et_object.asp : -Flash est un logiciel, c'est à dire strictement dépendant du plugin propriétaire. -Adobe est plus ouvert, plus orienté "format" puisqu'il est (un peu) exploitable en dehors d'Adobe. Quant à préférer un bon HTML capable de basculer à l'imprimer, on est exactement dans la problématique des standards "ouverts" et pas dogmatiques Tout le monde ne peut pas produire un HTML imprimable. En revanche, tout le monde peut produire un PDF propre, avec un minimum de formation à moindre coût. Modifié 21 Avril 2004 par LaurentDenis
martin Posté 11 Février 2005 Posté 11 Février 2005 Et j'ajouterai un argument en faveur de la liberté de l'utilisateur... le forcer à télécharger un pdf risque de l'embrouiller (pour certains utilisateurs novices) et risque de ne pas marcher derrière un proxy qui n'accepterai pas d'enregistrer un fichier, alors que sa lecture directement sur le net sera possible.
sousou1998 Posté 8 Décembre 2006 Posté 8 Décembre 2006 Bonjour, je suis nouvelle. J'ai le même soucis je veux mettre un lien vers un fichier PDF sur mon site Ifrance, j'ai le code <A HREF="ftp://"> mais aucune fenetre pour me demander d'aller chercher mon fichier. Je sais pas ou et comment mettre mon fichier PDF, pouvez vous m'aider?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant