2009-09-04 62 views
0

送信したサンプルPDFフォームを再作成する一連のクリスタルレポート(私の考えではない)を開発しました。レポート内の各ページの背景画像(元のPDFから取得したもの)をインポートした後、データフィールドをその上にドラッグしました。Crystalレポート - メモリ不足例外

ここでは、バックグラウンドのために使用している元の画像が比較的小さいにもかかわらず、rptファイルは非常に大きく(約50 MB)です。これは厄介なことですが、現在はサーバーにデプロイするときに、レポートを実行しようとしたときに断続的なメモリエラーが発生していることがわかります。

  1. これを行うには良い方法:

    さは約任意のアイデアを誰を持っています。

  2. このレポートファイルが非常に大きい理由(およびその削減方法)。

  3. メモリ不足エラーが発生している理由。

+0

のCrystal Reportsのバージョンは何? – MartW

+0

50mレポートファイル。バカヤロウ! – dotjoe

+0

これはVisual Studio 2008と一緒にインストールされたバージョンです。そして、はい、50M - それはちょっとした痛みです。 – Paddy

答えて

0

うわー、不快な。これらのレポートを分割してレポートごとに1つの画像しか表示できないのですか?

もしそうでなければ、画像をコードを介してレポートにロードしなければなりません。レポート自体に画像を保存することは、Crystal Reportsを大量に膨らませているようです(TIFFなどで内部的に保存するように)が、小さな画像を使ってコードでこれを行う方法はおそらくあります。このコードサンプルは役立つかもしれない :

https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/f02cd85d-cf66-2b10-878d-9337242838f0

+0

これは我々が取り組んでいるアプローチです。レポートの設計を厄介なものにしていますが、必要であるように見えます。リンクのおかげで、古い、死んだビジネスオブジェクトサイトではなく、実際にSAPサイトを指している数少ない人たちの1人です。 – Paddy

0

おそらく、これらのエラーは画像自体からのものです。小さなJPGファイルとしてレポートに渡すかもしれませんが、レポート自体がビットマップに変換される可能性があります。これは本当に大きなものです。

ステップ1:画像がない状態でレポートを再作成し、画像のサイズが大きくなるかどうかを確認します。サイズが例えばに下がった場合5 MBの場合、画像が問題を引き起こし、これらの問題を回避する方法を見つける必要があることは確かです。

これを解決するには、イメージをJPG圧縮で保存して、サイズを再び縮小するようにレポートに指示する方法を見つける必要があります。 Crystal Reportsやプロジェクトでこれが可能かどうかわかりません。

(最悪の場合には、レポートがビットマップとして、それらの画像を記憶しているだけでなく、それはまた、このように彼らもはるかに大きい作り、ページ全体をカバーサイズにそれらを伸ばすだろう!)

+1

私は既にイメージが問題を引き起こしていることを確認するプロセスを実行しました。私は水晶レポートの中に、画像を保存する方法を教えてくれる方法はありません。少し迷惑です... – Paddy

+0

だから、どういうわけかそれらの画像のサイズを小さくする必要があります。または、サーバーにメモリを追加します。 32ビットサーバーまたは64ビットサーバーを使用していますか? 64ビットの場合、Crystal Reportsを含め、64ビットとして設計されたWebアプリケーションですか? –

関連する問題