0

基本的に、私はPDFをメモリからユーザーのブラウザにストリーミングしています。システムユーザーが(ブラウザーで)adobeで保存を押して、ファイル名に動的な値(顧客の名前など)を事前に入力できるようにしたいと思います。

これまでこの問題について少し読んだことがありますが、インラインファイル名を設定するコンテンツ処理ヘッダーが正しく実装されていないようです。

私は、adobeがpdfを生成するページからファイル名を取得することを読みました。つまり、ページ名がpdfviewer.aspxの場合、pdfのファイル名の事前入力された値はpdfviewer.pdfです。

回避策を探しています。私の最初のアイデアは、PDFを生成してプッシュし、Web構成を次のように設定するhttpハンドラーを作成することでした。

 <add verb="*" path="*.ashx" type="Logic.PDFHandler" />

このように、リンクを「lastname.ashx」に動的に設定すると、PDFHandlerでコードが実行され、URLは「...\lastname.ashx」のようになります。これを概念実証で機能させることができるようです(pdfの生成を単純なrepsonse.write( "hello world")に置き換えます)が、もっと良い回避策があるかどうか疑問に思っています。 ?

注:概念実証はIEでのみ機能します。これは、このイントラネットアプリケーションの対象となるブラウザーであるため、満足しています。

4

2 に答える 2

0

ASP.NET ルーティングを使用すると、ハンドラーにルーティング/GeneratePDF/{id}/{lastname}.pdfまたは何かを行うことができます。

于 2011-08-29T03:45:19.553 に答える
0

指定した名前で PDF を保存するようブラウザに要求させる方法は次のとおりです。

// code runs on ASP.NET server
Response.Clear();
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}".
   fileName);
Response.ContentType = "application/pdf";
// stream PDF to response object
于 2011-08-29T08:33:15.953 に答える