9

私はPDFを生成するためにiTextSharpを使用しています。PDFバイト[]からPDFファイルを保存できます。

byte[] outputPDF = cnt.CreateBreakPDF();
File.WriteAllBytes(pdfOutPutPath, outputPDF);

byte[]出力を Web ページに表示する最良の方法は何ですか?

ページの div 内に PDF を表示したい。完全な応答としての PDF ではありません。

MVC の回答を見てきましたが、ASP.NET Web アプリケーションを使用しています。

HTTP ハンドラーを使用するよりも良い方法はありますか? PDF を作成するためのすべての詳細をクエリ文字列として送信したくありません。

4

4 に答える 4

12

これを jsFiddleで試してみましたが、Chrome と FF でうまく動作します。他のブラウザーでも確認する必要があります。

byte[]Base64使用に変換し、

string base64PDF = System.Convert.ToBase64String(outputPDF, 0, outputPDF.Length);

私がしなければならなかったのは、ソースでMIME typeasを指定し、.data:application/pdf;base64,Base64PDF

<object data="data:application/pdf;base64, JVBERi0xLjQKJeLjz9MKMyA..." type="application/pdf" width="160px">
    <embed src="data:application/pdf;base64, JVBERi0xLjQKJeLjz9MKMyA..." type="application/pdf" />
</object>

FF に表示されるトップ ツールバーを追加しても非表示にできませんでした#toolbar=0&navpanes=0&statusbar=0

IE8 で表示するには、保存した pdf ファイルが必要です。

于 2013-07-10T05:07:33.697 に答える