Printing in Thin Client

Printing in a thin client environment presents unique issues. You may need to modify your application accordingly.

Printing Locally on Windows Machines

If you'd like to allow end users to print locally on their Windows machines, you can add calls to ACUCOBOL-GT's WIN$PRINTER library routine to your program. The thin client environment supports WIN$PRINTER function calls, -P SPOOLER (DIRECT), and -Q printing. (Refer to the Getting Started manual for more information.)

Note that the following WIN$PRINTER functions are not supported by thin client because of variations in memory allocated by data types on the host and the client:

  • WINPRINT_GET_SETTINGS_SIZE
  • WINPRINT_GET_SETTINGS
  • WINPRINT_SET_SETTINGS

Instead of using these functions, you can make calls to WINPRINT_GET_PRINTER_INFO_EX and WINPRINT_SET_PRINTER, which are very similar. (Refer to the appendix "Library Routines" in ACUCOBOL-GT Appendices for more information about these WIN$PRINTER functions.)

Note that if the UNIX server is not an active thin client host when a WIN$PRINTER call is made, WIN$PRINTER returns a "0" (not supported).

Any COBOL logic that disables the WIN$PRINTER capability in non-32-bit Windows environments should be removed to allow Windows client printing to work.

Printing to -P SPOOLER automatically routes the print job to the client printer.

Although it is possible to print directly to the server printer, font selection and formatting capabilities are limited. These restrictions can have an impact on form printing. Send the print job to the client and let the client send the job to the desired printer. Note that the desired printer must be visible to the client.