The PrintKit software is designed to work with modern page printers capable of printing PostScript, PCL4/5, and HPGL data types. However, it is possible to configure PrintKit for use with limited-function printers that do not have these capabilities, such as those providing only ASCII, PCL3, or specialized data types.

The most common reason for using PrintKit in this configuration is to allow TCP/IP access, so these limited-function printers can be connected through TCP/IP-based servers, or accessed across networks configured for TCP/IP communications.

Use of PrintKit with limited-function printers is unsupported, except for the configuration notes below, and Northlake does not validate these configurations. However, customers have made effective use of PrintKit in this configuration, and that is why we describe it here.

Functional constraints

It is important to note that PrintKit's capabilities are severely constrained in this configuration. Essentially, PrintKit passes data to the printer “transparently,” without interpretation, and it ignores any information returned by the printer. In particular, this means the following features are disabled:

PRINT command parameters;

text formatting, line wrapping, page ejects, tab expansion;

status and error reporting.

Alternatives

The Telnet symbiont provided with the HP TCP/IP Services for OpenVMS can be configured for printers using a socket connection, and the lpr/lpd symbiont is available for printers supporting lpr/lpd communications. These symbionts may be a better choice if you are transferring text to the printer and it requires formatting. And, if you are not already using PrintKit, they offer a simpler solution for this class of printer.

The third-party TCP/IP services for OpenVMS also provide symbionts with similar functionality, and with similar tradeoffs when used with limited-function printers.

Step-by-step

1.Create a PrintKit queue for the limited-function printer. Use the KITCP ADD QUEUE command with the /INTERACTIVE qualifier, and select the “Dumb ASCII Printer” model. For example:

$ KITCP ADD QUEUE TEST /INTERACTIVE

KITCP interactive configuration.

Press '?' at any time for help on a query.

Use arrow keys to browse through available options.

Queue description string: PrintKit Execution Queue

EXECUTION, GENERIC or LOGICAL queue? EXECUTION

Node on which queue will run: NORMAN::

Printer model name: Dumb ASCII Printer

Printer emulations separated by commas: TRANSPARENT

Job control languages separated by commas: NONE

Communications protocol: TCP_SOCKET

Printer IP address: 206.163.192.65

TCP/IP port number: 9100

Status returned by printer (YES/NO)?

Synchronization: ASYNCH

Use the Printer Ethernet Protocol (PEP) (YES/NO)? NO

Use the default settings provided at the prompts, except for changes to match the communications interface for your printer. (TCP_SOCKET, PORT 9100 are the defaults; you may need to choose another protocol, or select a different port.)

2.Create a document definition that selects the TRANSPARENT data type. (If you have installed a recent PrintKit Printer Model Supplement Kit, this definition may already be present – you can do a KITCP SHOW DOCUMENT to check.)

$ KITCP ADD DOCUMENT TRANSPARENT -

_KITCP> /DESCR="Transparent data type document" -

_KITCP> /DATA_TYPE=TRANSPARENT

3.Modify your PrintKit queue to use the TRANSPARENT document definition by default. For example:

$ KITCP MODIFY QUEUE TEST -

_KITCP> /DEFAULT=DOCUMENT=TRANSPARENT

4.You should now be able to start the queue and print.

$ START/QUEUE TEST

See also

The PrintKit User Manual provides a more general discussion of queues and document definitions.