2012-02-21 12 views
2

これまで考えたことはありませんが、ユーザーがPDFファイルへのリンクをクリックするとどうなるかを制御する方法はありますか?これを実行する方法はありますPDFWebページ上でPDFを表示またはダウンロードするためのリンク

をダウンロードし、ブラウザ 2に 1.表示このPDF:

私の上司は、次の操作を行うための2つのリンクを提供したいと思いますか?私はこの種のことについては考えていないが、現代のブラウザのほとんどはブラウザでPDFを開くだろう。ダウンロードしたい場合は、右クリックしてください。行動を強制する方法はありますか?

おかげ

+1

可能複製開くには、『名前を付けて保存...』ポップアップオープンテキストリンクでHTMLのpdfをクリック](http://stackoverflow.com/questions/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in- html) –

答えて

1

PDFの表示方法は、ユーザーのブラウザのバージョンと構成に基づいています。たとえば、ChromeにはデフォルトでPDFビューアが含まれていますが、プラグインの動作を変更することができます(PDFを自動的に開く、無効にする、ユーザーに尋ねる)。これを行うには

一つの方法は、ブラウザがリクエストを処理する方法を知っているので、ContentTypeをとContent-処分を設定することです。たとえば、ASP.NETの場合、次のようにします。

Response.ContentType = "application/pdf";

Response.AddHeader( "のContent-処分"、「添付ファイル;ファイル名=ファイル名。PDF ");

情報開示:私はこのことができますならば、私に教えてくださいthis article

から、このコードをハイジャック [フォースの

3

あなたは資産にリンクしたり、ブラウザにデータをストリーミングすることができます。それらはあなたの最後にある唯一の2つのオプションです。

ファイルにリンクする場合:<a href="file.pdf">ブラウザで開くかどうかは、エンドユーザーのブラウザとオペレーティングシステムの設定に完全に依存します。

通常は、ブラウザのsave asダイアログをトリガする、しかし、それをブラウザにストリーミングすることで、ファイルのダウンロードを強制することができます。

最善の策は、しかし、ユーザーエクスペリエンスの観点から、彼らは彼らが何をすべきかを決めることができ、そのよう...単にPDFにリンクし、ユーザーは、彼らがPDFのリンクをクリックしようとしていることを知らせることですそれ。

1

サーバサイド技術を使用して、いくつかの方法があります。

はあなたが例えば、ダウンロードするファイルを提供しています.NET/PHPのページにリンクすることができます

<a href="/ServeFile.aspx?filename=sample.pdf">download pdf</a> 

やディスプレイへ:

<a href="/sample.pdf">view pdf</a> 

itextsharpを使用してPDFを生成する場合は、応答オブジェクトに次のものを追加してダウンロードを強制できます。

Response.AddHeader(
    "Content-Disposition", 
    "attachment; filename=itext.pdf" 
); 

または同じウィンドウで開きます。

Response.AddHeader(
"Content-disposition", 
"inline; filename=itext.pdf"); 

ユーザーは常に、常にブラウザウィンドウの表示は動作しません、その場合には、ダウンロードして自分のAdobe Readerのプラグインを設定することができます。

関連する問題