Support for label printers in Universal Print

Universal Print is built on modern print technology standards and their corresponding protocols. These are the standards and protocols adopted by the major printer manufacturers, and they are where future investments in print will be focused. This means that Universal Print presents a future-proof investment for customers. The capabilities of Universal Print will continue to expand as the underlying print standards add support for more print scenarios, and as printer manufacturers adopt these standards in their printers.

Universal Print allows organizations to take advantage of some label printing functionality. However, since the industry standards for label printing are still a work in progress, full-featured support for label printing is not yet possible in Universal Print.

How it works

Important

Label printing is currently limited to printing PDF documents.

Background – substituting missing print job attributes

In the normal case of PDF printing, a print job is sent to Universal Print with job attributes such as the media type (e.g., plain paper, photo, etc.) and media size (e.g., letter, A4, etc.). During printing, the connector will send these attributes to the printer alongside the job payload. If some print job attributes are missing when the print job reaches the connector, they are filled in using the printing defaults set on the print queue on the connector. For example, if the print job is sent without a value for the media size attribute, and the default media size set on the print queue on the connector is A4, the print job will be printed on A4 paper.

The Universal Print workaround for label printing

Label printing support in Universal Print utilizes the ability of the Universal Print connector to use the printing defaults when some options are missing from the print job sent to the printer from Universal Print.

Universal Print allows the admin to configure the connector to disregard the values of specific print job attributes (listed later in this article) and instead use the default values configured for the print queue on the connector. For example, when the connector is configured for this behavior, it will disregard the media size value received in the print job and substitute it with the default value for the label printer installed on the connector. Therefore, the print job can be printed using a media size that works for this label printer.

This approach allows Universal Print to immediately provide some label printing support. When label printing is fully standardized, the printing client will be able to send Universal Print the correct attribute values required for the target label printer.

How to use it

Label printing works from all clients that can print through Universal Print. If you are printing from Windows, make sure you are using the July 2022 update for Windows 10 (July 12, 2022—KB5015807 (OS Builds 19042.1826, 19043.1826, and 19044.1826)) or later.

Warning

Once a connector is configured to use label printing, all printers on the connector are affected, and each printer will always use the default media size set for it on the connector host machine instead of the media size selected on the client.

Prerequisites and configuration

1. Connector version

Verify that label printers are installed on a PC running Universal Print connector 1.92.8740 or later

Note

There is currently a known issue where setting the default paper size on the connector as described below does not apply it to print jobs. This issue applies to connector versions 1.92.8690 and earlier and is fixed in connector version 1.92.8740. Connectors will automatically be updated to version 1.92.8740 in January 2024, but this update can be applied sooner by downloading and installing the connector from https://aka.ms/ConnectorMSI-Canary. Manually installing this update will still allow the connector to receive automatic updates in future.

2. Connector configuration

Disable using all PDF print job attributes

  1. From the connector PC, open an elevated PowerShell prompt
  2. Run the following command to disable using all PDF job attributes
C:\windows\PrintConnectorSvc\UpdateConnectorConfigJson.ps1 -Feature Connector -Name "enable-all-supported-pdf-job-attributes" -Value "false"

The expected output is:

WARNING: Setting enable-all-supported-pdf-job-attributes to false is intended for label printing and will affect all printers on this connector. WARNING: Please follow the instructions at https://aka.ms/UPLabelPrintSupport to ensure you have correctly set up your printing defaults. WARNING: Waiting for service 'Print Connector Service (Print Connector service)' to start...

3. Printing defaults on the connector

Set the desired printing defaults on the label printers installed on the connector The desired printing defaults must be set on the connector for each label printer:

Attribute description Attribute name in the Graph
Paper type (e.g., plain, photo, etc.) mediaType
Paper size (e.g., A4, 54 x 86mm, etc.) mediaSize
Print resolution expressed in dots per inch (DPI) dpi

Regardless of what attribute values the client (i.e., the application that sends the print job) sends to Universal Print, the connector will use these defaults.

For all other attributes, the connector will use the values that the client specifies. If the client doesn’t specify a value, the connector will use the printing defaults set for the printer.

Note

Scaling is not supported. The value for the Scaling attribute will always be "None" regardless of the attributes the client app sends or the printing defaults set on the print queue on the Connector.

To set printing defaults for a label printer on a connector PC:

  1. Press the Windows + R keys.
  2. Start the Print Management console by typing printmanagement.msc and clicking the OK button.
  3. In the Print Management console, expand Print Servers and expand the node for the connector PC. You may also need to expand the Printers node.
  4. Right-click the label printer and click Set Printing Defaults....

4. Printer defaults in the portal

Verify that the content type for this printer in the portal is set to application/pdf

  1. Go to the printer list in the Universal Print section is the Azure portal and click on the printer for which you want to set the content type.
  2. In the left-hand side pane, click Printer properties and click on the Printer defaults tab.
  3. Verify that Content type is set to application/pdf

5. Test from the app

To make sure that all needed configuration is in place, please send a test print job from the app you intend to use.

Important considerations

This connector configuration applies to all printers on the connector

When the connector is configured as described earlier in this article, this configuration will apply to all printers installed on that connector. This means that for all print jobs sent to any printer on this connector, the connector will disregard some print job attributes and replace them with the defaults set on the printer. Therefore, the admin should not apply the label printing configuration to connectors that host document printers.

Windows print preview won’t reflect the label printer printout

When printing to a label printer from a Windows application, the print preview will not show the correct size and scale the label printer will produce. This is because some of the print job attribute values that Windows is applying to the print job will be replaced by the printing defaults values set for the target printer on the connector.

Help us improve label printing in Universal Print

Universal Print will continue looking for possible improvements to label printing support within the constraints imposed by the fact that label printing standards are a work in progress. If label printing is important to your organization, please upvote the label printing feature request in the Universal Print Community.

Questions and support

If you have questions or comments about this feature, please post them in the Universal Print Community Discussions at https://aka.ms/UPDiscussion.

For support, please create a support request from the Azure portal.