# Java > Dveloppement Web en Java > Servlets/JSP >  Spcifier nom pdf gnr par action iframe

## Scarz

Bonjour  toutes et  tous.

Tout d'abord je vous souhaite  toutes et tous une bonne et heureuse anne 2009 et je vous remercie par avance de l'aide que vous pourrez m'apporter.

*Contexte:*
Ralisation d'une page de visualisation de pdf stock en base de donnes.

*Environement:*
- Java J2EE jdk 1.5 (struts, spring)
- Serveur JBoss 4.0.5 en local
- Serveur de base de donnes MySQL en local

*Description du problme:*
J'affiche un pdf dans une iframe
Ce pdf est le rsultat d'une action nomme openPdf.do
Lorsque je clique sur le bouton enregistrer du plugin Acrobat Reader le nom du fichier pdf par dfaut est openPdf.pdf au lieu du nom de fichier specifi dans mon action (ex : mon_super_pdf.pdf).

*Question:*
Comment spcifier le nom de ce fichu fichier pdf lorsque je clique sur le bouton enregistrer de la visionneuse Acrobat Reader ?

*Solution actuelle:*


```

```

Cela ne fonctionne pas !



Voila, je pense que vous avez tous les elements pour me venir en aide.

Bonne journe  toutes et tous.
Et encore merci d'avance.

Scarz.

----------


## Scarz

Up Up

----------


## Scarz

Personne pour aider un pauvre malheureux dveloppeur qui n'arrive pas  spcifier le nom de son pdf ?

 ::mur::   ::mur::   ::mur::   ::mur:: 

Merci d'avance.

Scarz.

----------


## Scarz

Up

----------


## Mengu georges

Bonjour
ne serai ce pas plutt:


```
response.setHeader ("Content-Disposition", "attachment; filename=\""+fichier+"\"");
```

----------


## Scarz

Salut a toi Mengu georges,

Tout d'abord je te remercie de ta rponse.
Ensuite, j'ai dj essayer de mettre attachment  la place de inline mais le problme est que cela engendre le tlchargement du pdf avec une boite de dialogue qui demande "ouvrir" ou "enregistrer sous..." au lieu de le laisser intgr  la page web.

Voila... encore merci pour ta participation.

Si vous avez une autre ide, je suis preneur.

Merci d'avance.
Scarz.

----------


## link256

Salut je pense avoir la solution  ton problme,

je devais la poster y a un ti bout de temps puis j'ai zapp  ::oops:: 

Pour tout fichier il faut placer dans la response et dans cette l'ordre suivant (bug potentiel D'IE): 
-le content-type (mime type) 
-le content-disposition (nom du fichier) 




```

```



attachment : permet d'avoir une fentre d'invite d'enregistrement du fichier. 
inline : permet l'ouverture direct du document dans le navigateur si celui-ci peut l'ouvrir directement ou appeler le logiciel associ au format du fichier. 


Premier problme rencontr pour le PDF : le nom du document n'est jamais pris en compte en mode inline. 
symptme : lors de l'enregistrement le nom propos est celui de la servlet.pdf 

Ce problme se rsolu de a manire suivante en modifiant le web.xml : 



```

```

files  t choisi de manire arbitraire et peut tre remplac par ce que l'on veut. 

Pour plus d'explication voir le lien suivant 
http://balusc.blogspot.com/2007/07/fileservlet.html 

Ce second mapping permet d'ajouter en fin de requte le nom du document que l'on souhaite voir apparatre lors de l'enregistrement. 

exemple : 

http://monUrl/ServletDocument?param1=A&param2=B 

devient alors : 

http://monUrl/ServletDocument/files/...am1=A&param2=B 

les paramtres de la servlet peuvent tre passer en GET ou POST cela n'a aucune incidence. 


en esperant que ca rponde  tes problmes

----------


## Scarz

Excellent de chez Excellent.
Un grand  ::merci::   link256.

En suivant mot  mot ce qui est inscrit dans ce post, tout fonctionne  merveille.

Encore merci.
Et  bientt pour de nouvelles aventures.

Scarz.

----------


## renarde

Bonjour  tous, 

Je voudrais bien que le nom du PDF s'affiche dans la barre de titre du  navigateur. J'ai le mme code :

 String nomPDF = pdf.getDescription() + ".pdf"; // ex : mon_super_pdf.pdf
  response.setContentType("application/pdf");
  response.setHeader("Content-disposition", "inline; filename=\"" + nomPDF + "\"");

Le bon nom du fichier est propos lors de l'enregistrement, mais la barre de titre ne contient qu'une url code. J'ai une url fixe du genre http://localhost:8080/ACCES?parm1=a&parm2=b et je ne peux pas modifier cette url  ::roll:: 

Je vous remercie d'avance et vous souhaite une bonne soire  ::P:

----------

