---
title: SAIF.Services.Printing overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Services.Printing
reference_type: package
---

# SAIF.Services.Printing overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Services.Printing` is a .NET Framework library that wraps two report-output paths: xPression document generation through `clsPrint`, and SSRS report execution through `clsRSPrint`. It also provides the `IReport`/`ReportBase` abstraction and XDesign XML helpers used to prepare report payloads before preview, print, distribute, or save operations.

## Purpose
- Provide reusable preview, print, distribute, and save workflows for report content generated through xPression and SSRS services.
- Expose a report contract and base implementation that consumers can extend with report-specific XML creation logic.
- Serialize XDesign XML structures into the markup expected by the xPression document-generation service.

## Responsibilities
- Resolve runtime printing and reporting endpoints from `EnvironmentServiceBase`.
- Submit xPression preview, print, and distribute requests, including MSMQ-backed asynchronous distribution.
- Submit SSRS preview requests with caller-supplied report parameters.
- Capture report-processing failures in `ErrorDetail` objects for `IReport` implementations.

## Key components
- `clsPrint`: xPression SOAP and MSMQ integration for preview, print, and distribution.
- `clsRSPrint`: SSRS SOAP integration for report rendering.
- `Reporting.ReportBase`: reusable base class that coordinates rendering, printing, distribution, and saving.
- `Reporting.XDesignXDocument` and `Reporting.XDesignXElement`: XML helpers that build xPression-compatible payloads.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Configuration](configuration.md)
- [API reference](api/index.md)

## Sources
- `Services\SAIF.Services.Printing\clsPrint.vb`
- `Services\SAIF.Services.Printing\clsRSPrint.vb`
- `Services\SAIF.Services.Printing\Reporting\IReport.vb`
- `Services\SAIF.Services.Printing\Reporting\ReportBase.vb`
- `Services\SAIF.Services.Printing\Reporting\XDesignXDocument.vb`
- `Services\SAIF.Services.Printing\Reporting\XDesignXElement.vb`
- `Services\SAIF.Services.Printing\SAIF.BOF.Services.Printing.vbproj`
- `Services\SAIF.Services.Printing\SAIF.BOF.Services.Printing.nuspec`
