CitrixTools.Net Articles

Current Articles | Categories | Search | Syndication

XenDesktop 3.0 Printing Enhancements

Working on XenDesktop POCs and Deployments I've done some researches on how to optimize XenDesktop UPD printing just like in XenApp (check this article for more details).

With XenDesktop 2, it was possible to modify the DefaultPrnFlags value (which controls the Citrix printers autocreation process) using the following procedure

With XenDesktop 3, things are a little bit different, as the Printing Subsystem is now closer to the XenApp One.

DefaultPrnFlags can now be managed with the following registry value within the Virtual Desktop registry :

Reg Hive :

  • HKLM\Software\Citrix\Print for 32 bits Systems
  • HKLM\Software\WOW6432NODE\Citrix\Print for 64 bits Systems

 If the Print Key does not exist, you'll have to create it.

Then create a DefaultPrnFlags DWORD value and assign it the desired data (for example 8000000 in HEX will disable autocreation events to be logged within the eventlog).

That's easier than for XenDesktop 2.X and that's a nice news, but what about UPD Tuning ?

To be sure settings were applied, I've first checked with a friend working at Citrix Escalation and specialized on printing to know if XenDesktop printing engine (mainly cpsvc) was reading the UPDDevMode values, and he told me it was the case.

Important Note : These settings require the Citrix Universal Printer (CUP) to be enabled and will apply only on it.
To enable the CUP, You'll have to set the DefaultPrnFlag value CTXPRN_AUTO_CREATE_GENERIC_UPD_PRINTER which means a value of 20 in Hex.

I then decided to test them and they were working !

Like in XenApp 4.X, to Manage the UPD Settings, You'll then have to create a new “UPDDevMode” subkey which gives the following registry path

“HKLM\Software\Citrix\Print\UPDDevMode“.

Summary :

Windows 32-bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Print\UPDDevmode

Windows 64-bit:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\Print\UPDDevmode

Here you'll find the list of all available settings that can be applied on the Universal Printer Driver v3 :

Name Type Data
dmOrientation REG_DWORD 1 = portrait, 2 = landscape
dmPaperSize REG_DWORD 1 = letter through 118 = last paper defined in paper table
dmPaperLength REG_DWORD 1 - 65535
dmPaperWidth REG_DWORD 1 - 65535
dmScale REG_DWORD 1 - 1000
dmCopies REG_DWORD 1 - 9999
dmDefaultSource REG_DWORD 1 - 15
dmPrintQuality REG_DWORD 1 = draft, 4 = high
dmColor REG_DWORD 1 = monochrome, 2 = color
dmDuplex REG_DWORD 1 = simplex, 2 = horizontal, 3 = vertical
dmYResolution REG_DWORD 32 - 65535
dmTTOption REG_DWORD 1 = bitmap, 2 = download, 3 = substitute, 4 = outline
dmCollate REG_DWORD 0 = false, #1 = true
dmLogPixels REG_DWORD 0 - 65535
dmBitsPerPel REG_DWORD 0 - 65535
dmPelsWidth REG_DWORD 0 - 65535
dmPelsHeight REG_DWORD 0 - 65535



Important Note: Once you apply these settings, users can still choose for example a high resolution but it won't be taken into account when the document will be printed, so be careful when applying this Tuning !

For example, if I want to restrict the Universal Driver Printers to a 300dpi resolution then I will add the dmPrintQuality value and set it to "2".

This setting is the most important because it's the one which has the most dramatic impact on print jobs size.

If your users do not need color printing and you want to optimize more, you can then create and set the dmColor to "1" to force only Black and White Printing.

Then the dmTTOption setting : Specific Documents, mainly the type of documents that were generated from a PAO application (example : PDF generated from Illustrator …) have their own embedded fonts. Using default print settings, this fonts are converted as bitmaps, which can have a dramatic negative impact on print job.

Using this option, it is possible to force the client to substitute theses specific fonts with local fonts (be careful with that because it can have a lot of side effects …) or to download the fonts to the client at the first print (more heavy at first print job but flawless then).
 

Some to optimize XenDesktop Printing, just like it was possible with XenApp 4.X, configuring a dmPrintQuality value to 3 or 2 will effeciently reduce print jobs using the Universal Driver v3.

posted on Sunday, May 24, 2009 2:09 PM by Pierre Marmignon    

Previous Page | Next Page

COMMENTS

Only registered users may post comments.