Skip to content

IReport

IReport defines the public contract implemented by report objects in this library. The interface standardizes how callers create report XML, render output, print, distribute, save files, and inspect any collected errors.

Purpose

  • Expose a consistent report-processing workflow to consumers of the printing library.
  • Surface both report content state and transport helpers needed by implementations.

Context

  • Namespace: SAIF.Services.Printing.Reporting
  • Assembly/package: SAIF.Services.Printing

Public members

Member Signature Purpose
Errors ReadOnly Property Errors() As IList(Of ErrorDetail) Returns the collection of processing errors recorded by the implementation.
xPrint ReadOnly Property xPrint() As clsPrint Returns the clsPrint helper used for xPression transport operations.
DestinationFileName Property DestinationFileName() As String Gets or sets the output file path used by Save.
OutputProfile Property OutputProfile() As String Gets or sets the xPression output profile.
ReportPackage Property ReportPackage() As String Gets or sets the xPression report package name.
ReportFile ReadOnly Property ReportFile() As Byte() Returns the rendered report bytes cached by the implementation.
ReportXml ReadOnly Property ReportXml() As XDesignXDocument Returns the current report XML document.
Create Function Create(Optional overwrite As Boolean = False) As XDesignXDocument Creates or refreshes the report XML document.
Render Function Render(Optional overwrite As Boolean = False) As Boolean Renders the report into bytes.
Print Function Print(printer As String, Optional overwrite As Boolean = False) As Boolean Prints the report to a supplied printer.
Distribute Function Distribute(Optional overwrite As Boolean = False) As Boolean Distributes the report through the underlying transport implementation.
Save Function Save(Optional overwrite As Boolean = False) As Boolean Saves rendered report bytes to the configured destination file.
SetDefaultProfile Sub SetDefaultProfile() Selects the standard PDF output profile.
SetDraftProfile Sub SetDraftProfile() Selects the draft watermark PDF output profile.

Behavioral notes

  • Implementations separate XML creation (Create) from rendering (Render) so callers can prepare report data before transport operations.
  • SetDefaultProfile and SetDraftProfile align with BR-005.

Constraints and usage notes

  • Implementations must supply a report package name and report XML for render or distribution operations to succeed.
  • ReportFile and Errors expose implementation state and may change after each workflow step.

Sources

  • Services\SAIF.Services.Printing\Reporting\IReport.vb