---
title: clsRSPrint
summary: API reference for clsRSPrint.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Services.Printing
reference_type: package
---

# clsRSPrint

`clsRSPrint` wraps the generated SSRS `ReportExecutionService` proxy. It stores report-selection state, accepts parameter values, and renders report output in one of several configured formats.

## Purpose
- Submit parameterized report-render requests to the SSRS SOAP execution service.
- Translate enum-based format selections into the string values expected by `Render2`.

## Context
- Namespace: `SAIF.Services.Printing`
- Assembly/package: `SAIF.Services.Printing`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Formats` | `Public Enum Formats` | Enumerates supported SSRS output formats. See [Formats](Formats.md). |
| `ImageFormats` | `Public Enum ImageFormats` | Enumerates supported image render formats. See [ImageFormats](ImageFormats.md). |
| `ImageFormat` | `Public Property ImageFormat() As ImageFormats` | Gets or sets the image output format and updates the render-format token used internally. |
| `Format` | `Public Property Format() As Formats` | Gets or sets the report output format and associated file extension. |
| `ReportPath` | `Public Property ReportPath() As String` | Gets or sets the SSRS report path loaded by `PreviewDocument`. |
| `New` | `Public Sub New()` | Creates an instance using `AppGlobal.EnvironmentService` and initializes the SSRS proxy URL. |
| `AddParameter` | `Public Sub AddParameter(inName As String, inValue As String)` | Appends a report parameter value to the internal collection. |
| `ClearParameters` | `Public Sub ClearParameters()` | Clears all queued report parameters. |
| `PreviewDocument` | `Public Function PreviewDocument() As Byte()` | Loads the configured report, applies parameters, and renders report bytes through `Render2`. |
| `DistributeDocument` | `Public Sub DistributeDocument()` | Throws `NotImplementedException`; distribution is not supported by this class. |

## Behavioral notes
- `Format` maps enum values to the render-format tokens and file extensions used by the SSRS proxy.
- `PreviewDocument` uses `CredentialCache.DefaultCredentials`, then calls `LoadReport2`, optionally `SetExecutionParameters`, and finally `Render2`.
- `DistributeDocument` enforces [BR-006](../../business-rules.md#br-006-ssrs-distribution-is-not-implemented).

## Constraints and usage notes
- Successful construction depends on runtime availability of `sqlReportingServiceUrl`.
- Callers must set `ReportPath` before invoking `PreviewDocument`.
- Use `AddParameter` and `ClearParameters` to manage the `NameValueCollection` translated into SSRS `ParameterValue` objects.

## Sources
- `Services\SAIF.Services.Printing\clsRSPrint.vb`
