clsPrint¶
clsPrint is the library's xPression integration class. It stores request state, resolves environment-dependent configuration, and exposes operations for previewing, printing, publishing, and distributing documents.
Purpose¶
- Manage xPression-oriented report transport settings and call the generated SOAP client.
- Support both direct service distribution and transactional MSMQ-backed asynchronous distribution.
Context¶
- Namespace:
SAIF.Services.Printing - Assembly/package:
SAIF.Services.Printing
Public members¶
| Member | Signature | Purpose |
|---|---|---|
IDMEnvs |
Public Enum IDMEnvs |
Enumerates IDM environment labels defined by the class. See IDMEnvs. |
Application |
Public Property Application() As String |
Gets or sets the application label passed to xPression service calls. |
Asynchronous |
Public Property Asynchronous() As Boolean |
Gets or sets whether distribution uses the MSMQ path instead of the direct SOAP path. |
Copies |
Public Property Copies() As Int16 |
Gets or sets the requested print copy count. |
Environment |
Public ReadOnly Property Environment() As String |
Returns the environment label set by the constructor (Prod or Dev). |
Format |
Public Property Format() As String |
Gets or sets the distribution output format. |
ImportInfo |
Public Property ImportInfo() As clsImageImport |
Gets or sets imaging metadata included in distribution requests. |
OutputProfile |
Public Property OutputProfile() As String |
Gets or sets the xPression output profile name. |
Package |
Public Property Package() As String |
Gets or sets the xPression package name, trimming a trailing .pkg suffix when supplied. |
PlexMode |
Public Property PlexMode() As PlexMode |
Gets or sets the xPression duplex or simplex print mode. |
Printer |
Public Property Printer() As String |
Gets or sets the target printer name. |
ScaleMode |
Public Property ScaleMode() As ScaleMode |
Gets or sets the xPression scale mode. |
XML |
Public Property XML() As String |
Gets or sets the current XML payload. |
FaxInfo |
Public Property FaxInfo() As FaxInfoClass |
Gets or sets fax delivery metadata, instantiating a default object on first access. |
EmailInfo |
Public Property EmailInfo() As EmailInfoClass |
Gets or sets email delivery metadata, instantiating a default object on first access. |
DeferredInfo |
Public Property DeferredInfo() As DeferredPrintInfoClass |
Gets or sets deferred-delivery metadata, instantiating a default object on first access. |
IDMPath |
Public ReadOnly Property IDMPath() As String |
Returns the IDM path resolved from EnvironmentServiceBase. |
CompositeRequestClass |
Public Class CompositeRequestClass |
Serializable nested type used as the MSMQ payload for asynchronous distribution. See CompositeRequestClass. |
New |
Public Sub New() |
Creates an instance using AppGlobal.EnvironmentService. |
New |
Public Sub New(envSvc As EnvironmentServiceBase) |
Creates an instance using the supplied environment service and initializes the xPression proxy URL and queue path. |
previewPDF |
Public Function previewPDF(inPackage As String, inXML As String) As Byte() |
Previews a PDF through the xPression previewPDF operation. |
previewDocument |
Public Function previewDocument(inPackage As String, inXML As String) As Byte() |
Previews a document using the current output profile. |
previewDocument |
Public Function previewDocument(inPackage As String, inXML As String, inOutputProfile As String) As Byte() |
Previews a document using a supplied output profile. |
printPDF |
Public Function printPDF(inFile As Byte()) As Boolean |
Sends a rendered PDF byte array to the xPression printPDF operation. |
distributeDocument |
Public Function distributeDocument(inPackage As String, inXML As String) As Boolean |
Distributes a document either directly or through MSMQ, based on Asynchronous. |
StartMQTransaction |
Public Sub StartMQTransaction() |
Starts a reusable MessageQueueTransaction for asynchronous distribution. |
EndMQTransaction |
Public Sub EndMQTransaction(inAction As Boolean) |
Commits or aborts the active MessageQueueTransaction and clears local state. |
xpublishDocument |
Public Function xpublishDocument(ByRef inDocumentName As String, ByRef inOutputProfile As String, ByRef inXML As String, ByRef inApplication As String) As String |
Publishes a document through the generated xPression proxy. |
xpreviewHTML |
Public Function xpreviewHTML(ByRef inDocumentName As String, ByRef inOutputProfile As String, ByRef inXML As String, ByRef inApplication As String) As Byte() |
Requests an HTML preview from xPression. |
xpublishAndReturnDocument |
Public Function xpublishAndReturnDocument(ByRef inDocumentName As String, ByRef inOutputProfile As String, ByRef inXML As String, ByRef inApplication As String) As Byte() |
Publishes a document and returns its bytes from xPression. |
xdocumentsForCategory |
Public Function xdocumentsForCategory(ByRef inDocumentCategory As String, ByRef inApplication As String) As String() |
Lists xPression documents for a category. |
xoutputProfilesForDocument |
Public Function xoutputProfilesForDocument(ByRef inDocumentName As String, ByRef inApplication As String) As String() |
Lists output profiles for a document. |
xcategoriesForUser |
Public Function xcategoriesForUser(ByRef inApplication As String) As String() |
Lists xPression categories visible to the current application or user context. |
Behavioral notes¶
Packagestrips a trailing.pkgsuffix before storing the package name.distributeDocumentfollows BR-001 and BR-002 when choosing and managing its distribution path.- The synchronous distribution path passes
PaperTray.Tray2to the generated xPression proxy.
Constraints and usage notes¶
- Successful construction depends on runtime availability of
documentGeneratorServiceUrlanddocumentMSMQPath. - Callers must populate
Package,XML, and any delivery metadata needed for the selected operation before invoking preview, print, or distribution methods. IDMPathis resolved lazily fromEnvironmentServiceBaseeach time the property is read.
Sources¶
Services\SAIF.Services.Printing\clsPrint.vb