Skip to content

Images in Reports

Peter Gill edited this page Jun 8, 2026 · 1 revision

Images in Reports

Images can be placed anywhere in a report — in the page header as a logo, in the body as a product photo, or as a background. The designer supports three image source types: Embedded, External, and Database.

Inserting an image

  1. Right-click the location on the design surface where the image should appear.
  2. Choose Insert → Image.
  3. An Image item is placed on the report. Resize it by dragging the handles.
  4. In the Properties panel (or right-click → Properties), configure the Source, Value, and Sizing fields.

Image source types

Embedded

The image file is encoded into the RDL file itself at design time. The report is fully self-contained — no external files required at runtime.

  1. Set Source to Embedded.
  2. Click the ... button next to Value to browse for an image file (PNG, JPG, GIF, BMP).
  3. The image is base64-encoded and stored in the RDL XML.

Best for: company logos, static icons, watermarks. Avoid embedding large photos — they increase RDL file size.

External

The image is loaded from a file path or URL at render time.

  1. Set Source to External.
  2. Set Value to a path or URL expression:
="C:\Reports\Images\logo.png"
="https://example.com/images/logo.png"

Or make it dynamic using a parameter:

=Parameters!ImagePath.Value

Best for: images that change without editing the report, shared image libraries, images too large to embed.

External paths must be accessible from the server rendering the report. In Docker or cloud environments use absolute paths or URLs; relative paths resolve against the process working directory.

Database

The image is stored as binary data in a database column and retrieved as part of the dataset.

  1. Set Source to Database.
  2. Set Value to the field expression:
=Fields!ProductPhoto.Value

The field must contain binary image data (VARBINARY / BLOB / BYTEA). Set MIMEType to image/jpeg, image/png, etc. to match the stored format.

Best for: product catalogues, employee directories, any report where the image is data.

Passing an image from .NET code

If the image is not in a database but in application memory (generated, fetched from object storage, etc.), convert it to a base64 string and pass it as a report parameter. See Pass an Image to a Report for the full pattern.

Sizing options

The Sizing property controls how the image is scaled to fit the item's bounding box:

Value Behaviour
AutoSize The item resizes to the image's natural dimensions
Fit Stretches the image to fill the item exactly (may distort)
FitProportional Scales to fit while preserving aspect ratio; may leave gaps
Clip Displays the image at natural size and clips any overflow

For logos, FitProportional is usually the right choice. For background fills, use Fit.

Image in a page header (logo)

  1. Enable the page header band: Report → Page Header.
  2. Insert an Image item into the header band.
  3. Set Source to Embedded and upload your logo.
  4. Set Sizing to FitProportional.
  5. Resize the item to the desired logo dimensions (e.g. 2in wide × 0.6in tall).
  6. Position it using the Left and Top properties in the Properties panel.

Conditional images

Show different images based on data using the full expression builder on the Value field:

' Show a red or green status icon based on a field value
=IIf({Status} = "Active", "active_icon.png", "inactive_icon.png")

Combine with Source = External and a shared image directory.

Image tips

  • PNG is preferred for logos and icons (lossless, supports transparency).
  • JPG is suitable for photographs.
  • Keep embedded images under ~200 KB; larger images are better served as External.
  • Set a fixed Width and Height on image items for consistent PDF output; AutoSize can shift other items on the page if the image dimensions vary.

Clone this wiki locally