Sending documents to printers

You can use the Output service to send laser print formats and label print formats to a printer. For a list of supported formats, see Output Service.

Note: Label printer manufactures have devices that use different print languages. Not all Zebra printers use ZPL; therefore, ensure that your device can support the specific print language.

The following illustration shows the Output service sending documents to network printers.

The Output service supports the following printing access mechanisms:

Direct accessible printer:
A printer that is installed on the same computer is called a direct accessible printer, and the computer is named printer host. This type of printer can be a local printer that is connected to the computer directly.

Indirect accessible printer:
Technologies such as the common UNIX® printing system (CUPS) and the Line Printer Daemon (LPD) protocol are available. The printer that is installed on a print server is accessed from other computers. To access an indirect accessible printer, the print server’s IP or host name must be specified. Using this mechanism, you can send a document to an LPD URI when the network has an LPD running. This mechanism lets you route the document to any printer that is connected to the network that has an LPD running.

When using this method to send a document to a printer, specify one of these printing protocols:

CUPS:
A printing protocol named common UNIX printing system. This protocol is used for UNIX operating systems and enables a computer to function as a print server. The print server accepts print requests from client applications, processes them, and sends them to configured printers. On the IBM AIX® operating system, usage of CUPS is not recommended.

DirectIP:
A standard protocol for remote printing and managing print jobs. This protocol can be used locally or remotely. Print queues are not required.

LPD:
A printing protocol named Line Printer Daemon protocol or Line Printer Remote (LPR) protocol. This protocol provides network print server functionality for UNIX-based systems.

SharedPrinter:
A printing protocol that enables a computer to use a printer that is configured for that computer. This protocol does not work if the Generate PDF service is installed and LiveCycle is installed on the Windows Server® 2008 operating system. This issue is applicable only for the Windows Server 2008 operating system. In this situation, use a different printer protocol.

CIFS:
The Output service supports the Common Internet File System (CIFS) printing protocol. (See Improving the performance of the Output service.)

The following table lists various input values, printing access mechanisms, and the results.

Access mechanism

Print server URI

Printer name

Result

SharedPrinter

Any

Null

Exception: Required argument sPrinterName cannot be null.

SharedPrinter

Any

Invalid

Output service throws an exception stating that the printer cannot be found.

SharedPrinter

Any

Valid

Successful print job.

LPD

Null

Any

Output service throws an exception stating that the required argument sPrintServerUri cannot be null.

LPD

Invalid

Null

Output service throws an exception stating that the required argument sPrinterName cannot be null.

LPD

Invalid

Not null

Output service throws an exception stating that sPrintServerUri is not found.

LPD

Valid

Invalid

Output service throws an exception stating that the printer cannot be found.

LPD

Valid

Valid

A successful print job.

CUPS

Null

Any

Output service throws an exception stating that the required argument sPrintServerUri cannot be null.

CUPS

Invalid

Any

Output service throws an exception stating that the printer cannot be found.

CUPS

Valid

Any

Successful print job.

DirectIP

Null

Any

Output service throws an exception stating that the required argument sPrintServerUri cannot be null.

DirectIP

Invalid

Any

Output service throws an exception stating that the printer cannot be found.

DirectIP

Valid

Any

Successful print job.

CIFS

Valid

Null

Successful print job.

CIFS

Invalid

Any

Output service throws an unknown error while printing using CIFS.

CIFS

Null

Any

Output service throws an exception stating that the required argument sPrintServerUri cannot be null.

Note: To print on remote network printers on Windows, it is easier to use the CIFS protocol than a shared printer. The CIFS protocol can be used with remote Windows print servers. (See Improving the performance of the Output service.)

Running a service on Windows

If you install LiveCycle using the turnkey installation for JBoss on Windows, JBoss runs in the context of the Local System account. Services that run in this context do not have access to network resources such as printers because the services are not authenticated on the network. If you use the Output Installation Verification Sample (Output IVS) to send a document to a network printer, the following error message is displayed:

Printer \\server\queue not found

To solve this problem, enable JBoss to run in the context of a valid user. To perform this task, change the properties of the JBoss service by clicking the Log On tab and selecting This Account. Specify a valid user name and password.

Note: This issue is applicable only when using the SharedPrinter access mechanism.

Sending the document to a network printer

You can send a document to a line printer daemon (LPD) URI when the network has an LP daemon running. You can route the document to any printer that is connected to the network. This printer can exist on a separate computer.

After you reference XML form data and set print run-time options, you can invoke the Output service. The Output service sends the document to a network printer. It is recommended that you use the CIFS protocol when possible. A shared printer can be used when a printer is locally installed.

A PostScript file created from a form design that contains a custom page size does not print correctly. To correct this issue, configure the printer to handle custom sizes. Each printer has its own way of handling custom sizes. Some printers allow you to configure the page size, media type, input trays, and so on. Read your printer’s documentation to learn how to configure your printer to handle custom sizes.

When you send a document to a printer, consider the following factors:

  • Set PrinterProtocol to SharedPrinter, set ServerURI to a blank value, and set PrinterName to a value that specifies the printer path (for example, \\server12r-nt\HP LaserJet 8150 PCL 6 Tower II Level 5).

  • You can retrieve the value for PrinterName by using the path where the printer is installed. For example, assume that the printer is on the server12r-nt server. To obtain the name of the printer, select Start, Printers and Faxes, right-click the specific printer, and select Properties. On the General Tab, the text box displays the printer name.

  • One reason that an issue can occur when printing with a SharedPrinter is that the login identifier is not correct. (See Running a service on Windows.)

// Ethnio survey code removed