Skip to Content
Former Member
Jan 19, 2011 at 04:15 PM

Working with images in reports


(re-posted from .NET forum as recommended)

We are using CR 2008 integrated with a C#.NET 3.5 SP1 application. All of the data for our reports is provided by setting the datasource on a table (ex: ReportDocument.Database.Tables[0].SetDataSource()).

We have some reports that include images. These images are typically large (25 MB - 100+ MB) and may fill up the majority of a page. This is causing us no end of pain. There are two specific questions that I have.

If a report is being run for multiple object instances where each instance has an image associated with it we retrieve and set all of the data at the same time. This puts a very low limit on the number of objects that can be selected at once to run the report on. Ideally we would like some way to have a call-back on a per-object basis where we can provide the data for that object. This presumes that Crystal would free the memory used for each object as it called for the next one. Is there anyway to do this?

The second question is about a more efficient way to handle the images. Currently we are using a BlobField and passing it a byte array of the image. This approach appears to cause Crystal to use lots of memory and is related to the size of the image in the report. Images above 50 MB never display in the report. Is there a different, more efficient, way to include images on reports?

Thanks in advance,