VB.NET で Webアプリケーションを作成します。
んで、参照設定で「CrystalDecisions.*」を設定。
次にプロジェクトにCrystalレポートファイルを追加します。
ファイル名(=クラス名)MDA20で保存します。
フォームにボタンを追加してクリックイベントに以下のコードを書くと
サーバ上にpdfファイルを作成せずにクライアントにダウンロードさせることが出来まっす。
あ、imports はテキトウに設定をしないとだめだす。
--------------------------
Dim Report As New ReportDocument
Dim exportOpts As New ExportOptions
Dim b As Byte()
Dim st As System.IO.Stream
'レポートをロード
Report = New Report20
'以下エクスポート処理
exportOpts = Report.ExportOptions
'PDFを指定
exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat
'
' PDFのオプション設定
'
Dim pdfOption As New PdfRtfWordFormatOptions
' ページ指定
pdfOption.FirstPageNumber = 1
exportOpts.FormatOptions = pdfOption
' ↓なぞ
Dim req As ExportRequestContext = New ExportRequestContext
req.ExportInfo = exportOpts
'出力先はStream
st = Report.FormatEngine.ExportToStream(req)
ReDim b(st.Length)
' データをバイト列に変換
st.Read(b, 0, Convert.ToInt32(st.Length))
' ブラウザに出力する場合はこれ
'Response.ContentType = "Application/pdf"
'Response.BinaryWrite(b)
'Response.End()
' 保存ダイアログを表示する場合はこっち
With HttpContext.Current.Response
.ContentType = "application/pdf"
' 日本語はだめっぽい
.AppendHeader("content-disposition", "attachment; filename=Report20.pdf")
.BinaryWrite(b)
.End()
End With
0 件のコメント:
コメントを投稿