私は、ネストされたRadGridコントロールを含む私のasp.netのページからPDFファイルの作成については、以下の許容基準があります。ページの現在のビューは、ビューステートやセッションのことを意味してPDFに変換する必要がありますASP.NETページをPDFに変換する方法は?
を現在のページリクエストの情報を考慮する必要があります。これにより私には1つの選択肢しか残らない。新しいpdfポストバックが送信されたときに、現在のセッションのPage_Render()イベントハンドラでPDF変換を行います。
asp.netのページレイアウトは、$(document).ready(...)の時にJQueryを使って変更されました。つまり、レンダリングされたHTMLだけでなく、PDFに変換する必要があります。それを実行して、最終的なPDFファイルに所望のレイアウト変更を加えます。例えば列アライメントなどがあります。
asp.netページはIE 6以降で正しく表示されるため、使用されるPDFツールはIEレンダリングエンジンを使用する必要があります。
このようなシナリオではどのツールが役立つのかアドバイスできますか?
私はダウンロードしてツールをEvoPdfテストしたが、それは明らかに(のみFireFoxのレンダリング)をIEのレンダリングエンジンをサポートしていませんし、それを正しく作業を可能にするJavaScriptを作ることができませんでした。
私はABCPdfとWinnovetiveを評価するつもりですが、私は彼らが私が欲しいものを支持するだろうかわかりません。
上記の問題を解決するツールが見つからない場合は、クライアントスクリプトを使用してページのスクリーンショットを撮って(可能かどうかわからない)、サーバーに送信することもできます最後にその画像をpdfに変換します。
多くのおかげで、
私はレンダリング(たHtmlTextWriterライター)と変換メソッドを呼び出し、保護オーバーライドボイド内のhtmlを取得:
はここに、このアプローチに関連するソースコードです。問題は今、pdfがポップアップとしてこのように表示されず、一部のバイナリ情報がページに表示されるということです。どのようにそれをポップアップとして表示するにはどのような考えですか? –
実際に私はバイナリ情報が何であるか理解していません...私はasp.netページのレンダリングされたHTMLコードを取得し、このコードをPDFに変換する必要があることを誓っています。結果として、あなたはPDFであるストリームを取得します。さらに、あなたはそれがあなたが望むものであれば何でもできます。ポップアップとして表示する場合は、このストリームをResponseに書き込み、コンテンツタイプを "application/pdf"として指定します – zavolokas