At the moment, RAS Universal Printing works as described below:
RAS redirected printers have a switched on option to wait for full job ( "start printing after the last page is spooled" ). Server-side spooler is waiting for an application used for printing to send EndDoc function (this is done after the last page is spooled) then the spooler starts passing pages to RAS Universal Printing driver. As the driver receives a page it immediately sends it to the client.
Depending on printing format configured on the client, the following happens:
- The Enhanced Metafile format (EMF) is available on the Windows platform only. EMF allows to generate smaller print jobs and supports font embedding. EMF requires less server resources compared to PDF and BMP. Documents are spooled page by page, which expedites the printing process.
- PDF is a portable format and is available on all platforms, but a complete document is spooled during printing (not individual pages), which requires more terminal server resources. On the other hand, PDF has the best compression and retains all fonts within.
- BMP (bitmap image) requires larger network data transfer and heavily utilizes the terminal server resources. Printing job is spooled page by page. A BMP image is rasterized on the server side and has complete font consistency compared to EMF and PDF.
Additionally, for specific printers/applications, RAS Universal Printing can automatically switch to the ready to print (RAW) format when necessary
Note: From version 19.3 onward, Universal printing support is included in the AVD Standard Feature Set.
Let's imagine that we're going to print a document which consists of 100 of pages and we have EMF printing format set on the client. The sequence will be as follows:
- An application prints a document which consists of 100 of pages.
- Server-side spooler is waiting for all 100.
- Once all 100 pages received, spooler starts sending it to RAS Universal Printer driver
- Driver receives 1 page and forwarding it to Client and then processing another page.
- Parallels Client receives one page and sends it to local spooler, and then awaiting for the next page.
- Local spooler behavior based on the setting configured at local printer properties, in case it is set to "start printing immediately" (default value), it is sending a page by page to the local driver.