Terminal Server Printing Made Easy With Parallels RAS

Desktop virtualization has, undoubtedly, revolutionized the way we conduct business—allowing users to access their desktops and apps from any location, any device, and any platform. But virtualized environments also have their fair share of problems, chief among them is terminal server printing.

At some point during desktop virtualization design, users may want to print. Printing is a core requirement for businesses, and users need to have a seamless desktop experience. Ideally, terminal server printing should be no different from local printing where the server or the end-device has direct access to the printer. A Virtualized environment poses unique challenges for printing because users have multiple devices that run different operating systems.

How does terminal server printing work?

Server-based computing enables businesses to provide access to central resources from any device. It means end users can connect to corporate resources from a range of devices and can also print documents from their devices to the local printer. Windows terminal services are used for this purpose. Terminal services are a component in Microsoft Windows server software that enables users to take control of a remote device on the network.

Terminal server licensing is required for client devices to connect to a terminal server. A terminal services licensing server is used to store all TS CALs installed for a group of systems. When a client device connects to the terminal server, it checks for TS CALs, and if needed, it requests a TS CAL from the terminal licensing server and delivers it to the client device.

Terminal server printing is similar to Windows printing. When a user prints a document in a Windows environment, Windows creates an EMF file with the print data and checks if the target printer is local one or network-based. It then translates the print data to raw format, and the printer spooler sends the print job to the printer. When the print file is received, the printer prints it regardless of the format.

Terminal services printing uses the same procedure involved in Windows printing. Every time a user logs on to a terminal server through the RDP client, the client’s terminal printer properties are sent to the terminal server, which then auto-creates printer drivers for that user session using the information provided. However, the printer driver of the client device should exactly match the drivers installed on the terminal server.

Challenges with terminal server printing

terminal server printing

When the client tells an application to print a document, the terminal server generates an Enhanced Metafile (EMF). The EMF format is a device-independent, 32- bit version of the Windows Metafile (WMF) that helps print graphics and other applications. The EMF file is generated by Graphics Device Interface (GDI).

As a programming interface, GDI allows apps to use formatted text and graphics on printers and video displays. Once generated, the EMF file goes to the spooler, which renders the jobs correctly when printer drivers are available on the terminal server. Most servers prefer EMF over raw (data sent to printers directly without any modification) because it consumes less processing power and allows background printing.

Even when correct terminal printer drivers are available, the print driver’s name should exactly match that of the client printer. Another headache is the large size of the raw print job when there are performance issues. If you use older versions of Windows terminal services, the names of printer drivers on the server must be mapped with those on the client devices.

When you have to manage multiple terminal servers, it can be a daunting task for administrators. Terminal server printing issues have been common with all major virtualization tools, particularly Citrix. Citrix has developed solutions such as auto-printer creation, session-based printing, and the Citrix Universal Print Server, but the terminal services printing issue persists.

Terminal server printing is a strength of Parallels Remote Application Server

Parallels Remote Application Server (PRAS) offers a Universal Printing feature out of the box, allowing users to easily print and scan documents from any remote client device without the need for extra configuration. This comprehensive printing feature uses printer settings on a mobile device or local computer to set printing defaults such as page layout, paper size, collation, duplexing, color use, paper tray output, and print quality, among others, on the server side.

Instead of installing printer drivers on the Terminal Server, Parallels RAS renders the print job in a universal format using its own driver, which compresses jobs before sending them to a printer. Thus, printing performance is greatly enhanced as files transferred over the network are significantly smaller, enabling almost-instant printing. This auto-configured option allows users to work on any network printer connected to their devices.

Parallels RAS uses the DynaPDF library to enable native PDF printing and save documents to PDF even when a connected Windows client does not have an installed PDF driver.

Parallels RAS offers various features that enable administrators to successfully integrate printing into almost every deployment scenario. This ability to set specific printing configurations allow administrators to improve the printing experience for their users.

Get started with Parallels RAS by downloading your free trial.


Ultimate Guide for Terminal Server Printing: brianmadden

Terminal Server Printing: technet.microsoft.com

Installing Printer Driver on The Server: technet.microsoft.com

Printing In terminal Server Best Practices: spice works

Windows Terminal Server printing: VirtualizationAdmin.com

A Dummies Guide to Tackle Printing Issues in a Citrix Environment: linkedin.com

Five reasons printer redirection causes Windows printing problems in RDS: searchvirtualdesktop.techtarget.com

Leave a Reply