- PR -

ActiveReportsのPDF出力

1
投稿者投稿内容
たれぱん
会議室デビュー日: 2007/10/10
投稿数: 7
投稿日時: 2007-10-10 18:10
はじめて投稿させていただきます。

現在、ASP.NETでActiveReport2.0でいろいろ動作を検証しているのですが、
WebViewerにAcrobetReader形式(PDF)を表示させた場合に、うまく表示できない
ことがあるので困っています。
何度か画面の表示を繰り返しているうちに、
「No Report Specified.」と表示される場合と、フレーム?のみ表示され中身が
空っぽのような状態になる場合とがあります。
何かよい対処法はございませんでしょうか?
よろしくお願いします。

(以下ソースです)
With WebViewer1
' WebViewerの位置を設定します。
.Style.Item("Top") = "0px"
.Style.Item("left") = "0px"
' WebViewerのサイズを設定します。
.Width = Unit.Percentage(100)
.Height = Unit.Percentage(100)
.Style.Item("height") = "100%"
.Style.Item("width") = "100%"
End With

Dim rpt As New Report1.ActiveReport8
Dim ds As DataSet1.DataSet5 = New DataSet1.DataSet5()

'xmlの読み込み
ds.ReadXml("c:\\test2.xml")

rpt.DataSource = ds
rpt.DataMember = "DataTable1"
rpt.Run(True)

WebViewer1.ClearCachedReport()
WebViewer1.Report = rpt


凡庸
会議室デビュー日: 2008/01/15
投稿数: 4
投稿日時: 2008-01-30 13:32
どうも、通りすがりのものです。

WebViewer コントロールを載せたページを「ページ・キャッシュなし」で運用されてはいかがでしょうか。
具体的には、
aspxページの @OutputCache ディレクティヴを次のようにします。
 <%@ OutputCache Location="None" %>


当方は“3.0J Professional”で WebViewer を用いたダイレクト印刷を行っていますが、
WebViewer を載せたページを「ページ・キャッシュなし」で動かすと、同じブラウザ・ウィンドウから同じ帳票を何度でも印刷できるのですが、
「ページ・キャッシュあり」にすると、同じブラウザ・ウィンドウで同じ帳票を繰り返し印刷しようとすると2回目以降「No Report Specified」となってしまいます。


お役に立つと良いのですが。

[ メッセージ編集済み 編集者: 凡庸 編集日時 2008-01-30 13:34 ]
凡庸
会議室デビュー日: 2008/01/15
投稿数: 4
投稿日時: 2008-01-30 14:00
どうも、自分フォローです。


どうしても「ページ・キャッシュなし」にできない場合、
WebViewer搭載ページのURLをユニークにしてキャッシュが使われないようにする、というのも一つの策です。

具体的には、
URLのクエリ文字列に、乱数や日時文字列、セッションID などを付加します。

個人的には、
こんな姑息なことしか思いつかなくて、快くないです。
もっと、
ストレートで明快なやり方があると思うのですが。。。
1

スキルアップ/キャリアアップ(JOB@IT)