2011-02-02 35 views
2

私のアプリケーションでは、印刷可能なPDFアクロバットファイルを、ブラウザ以外で保存する以外にブラウザで表示したいと考えています。 Firefoxでは、デフォルトでは保存またはオープンを要求されますが、そのダイアログは必要ありません。そのファイルをブラウザの外に表示することをお勧めします。私を提案してもらえますか?生成されたPDFファイルをブラウザで表示する方法、またはブラウザの外でWindowsで表示する方法はありますか?

おかげで、
バラKumar.PJD

あなたはそれがむしろ Content-Disposition header経由でダウンロードするために提供するよりも、ウィンドウでPDFを表示するブラウザに提案することができ

答えて

5

:「

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

インライン "の値は、コンテンツがインラインでレンダリングされることを示唆しています(ブラウザのダウンロードを提案する"添付ファイル "の値とは対照的です)。

ブラウザに提案をしたら、その実装やユーザーの設定に応じて、ブラウザがあなたの提案を受け入れることも受け付けないこともできます。

+0

申し訳ありませんT.J.クラウダー私はその内容で肯定的な結果を得ていません - 処分インライン –

+0

@ varakumar.pjd:それを聞いて申し訳ありません。 V. strange。それは私のために非常によく似たユースケースで動作します。私は時にはPDFを含む新しいウィンドウを開こうとするアプリケーションがあり、ブラウザがPDFをダウンロードしたいときもあります。 PDFを生成するページへのリンクがあり、 'target'属性が' _blank'に設定されています。私はそのヘッダーを使って、ユーザーがリンクをクリックすると何が起こるのかを制御します。標準のIE6、IE7、Firefox、およびChromeの設定では動作するようです。 –

+0

私はそれについて知らないので、Content-Dispositionの意味を教えてください。 –

1

これはあなたのアプリから制御できるものとは思わないが、これはユーザーが使用している環境/ブラウザ/プラグインの問題だと思うが、あなたのpdfの新しいウィンドウをjavascriptのように開くことができるこのlink

0

このようなことをすることができます。

 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

私はこれがどのように質問に答えるのか分からない。 OutputStreamを通じてファイルを送信するためのコードスニペットを(コンテキストなしで)投稿しています。これは質問の内容ではありません。 – Zero3

関連する問題