2011-02-02 3 views
2

Dans mon application, je veux montrer un fichier acrobat PDF imprimable avec dans le navigateur ou en dehors du navigateur autre que l'enregistrement. Dans Firefox par défaut, il demandera de sauvegarder ou d'ouvrir, je n'ai pas besoin de ce dialogue. Je veux montrer ce fichier de préférence en dehors du navigateur. Pouvez-vous s'il vous plaît me suggérer.Comment afficher un fichier PDF généré avec dans le navigateur ou en dehors du navigateur dans Windows?

Merci,
Vara Kumar.PJD

Répondre

5

Vous pouvez suggérer au navigateur qu'il doit afficher le PDF dans une fenêtre plutôt que d'offrir le télécharger via le Content-Disposition header:

response.addHeader("Content-Disposition", "inline"); 

Le " "inline" value suggère que le contenu soit rendu en ligne (contrairement à la valeur "attachment" suggérant que le navigateur propose de le télécharger).

Une fois que vous avez fait la suggestion au navigateur, le navigateur peut accepter ou non votre suggestion, en fonction de son implémentation et éventuellement de ses préférences utilisateur.

+0

Désolé T.J. Crowder Je n'obtiens aucun résultat positif avec cette disposition-contenu en ligne –

+0

@ varakumar.pjd: Désolé de l'entendre. V. étrange. Cela fonctionne pour moi dans un cas d'utilisation très similaire. J'ai une application où parfois je veux ouvrir une nouvelle fenêtre contenant le PDF, et d'autres fois je veux que le navigateur télécharge le PDF. J'ai un lien vers une page qui génère le PDF, et j'ai un attribut 'target' défini sur' _blank'. J'utilise avec succès cet en-tête pour contrôler ce qui se passe lorsque l'utilisateur clique sur le lien. Avec les paramètres standard IE6, IE7, Firefox et Chrome, cela semble fonctionner. –

+0

Pouvez-vous me dire la signification de Content-Disposition parce que je ne sais pas à ce sujet –

1

Je ne pense pas que ce soit quelque chose que vous pouvez contrôler depuis votre application, je pense que c'est la question de l'environnement/navigateur/plugins que les utilisateurs utilisent ... mais vous pouvez ouvrir une nouvelle fenêtre pour votre pdf par javascript comme ce link

0

Vous pouvez faire quelque chose comme ça.

 response.setContentType("application/pdf"); 
     InputStream in = new FileInputStream("answerconnect.pdf"); 
     OutputStream out = response.getOutputStream(); 
     byte[] buf = new byte[1024]; 
     int len; 
     while ((len = in.read(buf)) > 0) { 
      out.write(buf, 0, len); 
     } 
     in.close(); 
+0

Je ne vois pas comment cela répond à la question. Vous publiez un extrait de code (sans contexte!) Pour envoyer un fichier via un OutputStream. Ce n'est pas la question. – Zero3

Questions connexes