Print rendered PDF¶
clsPrint.printPDF sends a byte array the caller already has (typically produced by a preview or render step) to a physical or virtual printer through the xPression print service. It does not render or fetch content itself; it is purely the transport step.
| Field | Value |
|---|---|
| Operation ID | OP-PRT-02 |
| Trigger | Caller invokes clsPrint.printPDF(inFile) after obtaining rendered PDF bytes (for example, from Preview document via xPression or Render report) |
| Inputs | PDF byte array; printer name, plex mode, copy count, and scale mode set on the clsPrint instance beforehand |
| Outputs | Boolean True returned after the print call completes |
| Primary components | clsPrint.printPDF |
| Entry point | Services\SAIF.Services.Printing\clsPrint.vb |
Steps¶
- The caller sets
Printer,PlexMode,Copies, andScaleModeon theclsPrintinstance before callingprintPDF(directly, or throughReportBase.Print, see Print report). - The caller invokes
printPDF(inFile), passing the PDF byte array to print. printPDFforwards the byte array along withm_Printer,m_Plexmode,m_Copies, andm_Scalemodetom_Xpresso.printPDFon the generated xPression SOAP proxy.- The method returns
Trueimmediately after the proxy call completes; the return value does not reflect the printer's actual job status, only that the SOAP call did not throw.
Process flow¶
The following diagram visualizes the print call.
flowchart TD
Start([Caller has rendered PDF bytes]) --> Settings[Set Printer, PlexMode,<br>Copies, ScaleMode]
Settings --> Call[Call clsPrint.printPDF]
Call --> Proxy[xpresso.clsGenerate.printPDF]
Proxy --> End([Return True])
Failure and edge-case behavior¶
printPDFdoes not catch exceptions; a SOAP fault or communication failure fromm_Xpresso.printPDFpropagates directly to the caller.*- The method always returns
Truewhen the proxy call does not throw, so a caller cannot distinguish "printer accepted the job" from "printer queued but later failed" using this return value alone.*
Related documentation¶
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
Services\SAIF.Services.Printing\clsPrint.vb