首页 > 代码库 > Citrix XenApp和XenDesktop 打印系统解析④

Citrix XenApp和XenDesktop 打印系统解析④


 

3.4Citrix Universal Printer(CUP)

3.4.1CUP概述

上述我们阐述了Citrix关于本地客户端打印以及网络打印的解决方案:

UPD:解决在Citrix VDA中打印机驱动众多,存在相互冲突、内存泄漏、管理维护繁琐以及可能引起的系统崩溃等问题;

UPS:解决在Citrix VDA中因传统Windows网络打印引起的问题,比如打印速度较慢、分支机构打印消耗的带宽过高、同时结合UPD解决经常需要安装和更新打印机驱动等问题。

经过这两个解决方案,提升在Citrix环境中打印问题的用户体验。但是这样的情况下,如果用户的会话打印机比较多,有好几个甚至十几个,在用户登录的时候其实是对用户的登陆时间是有影响的。这些会话打印机越多,其枚举的时间就越长。Citrix环境下用户的登陆,在VDA将用户给予的登陆Ticket给到DDC进行会话请求的时候,DDC会为该用户会话准备一系列的东西,首先就包括存储于STA存储的用户凭据。Ticket只是STA里面对于用户的映射,DDC通过STA生成的Ticket去枚举用户的凭据,枚举出来之后,根据该用户的凭据准备用户的会话,该会话的信息还包括用户的Citrix策略、会话的信息以及打印机等等信息。在这其中,如果用户的打印机过多,其在生成用户会话的时候枚举打印机过长,无疑是增加了用户登录的时间,影响用户的体验。

思杰为了解决用户打印机过多引起的登陆性能问题,开发出了思杰通用打印机(CUP)。思杰通用打印机(CUP)是一个通用打印机对象,如果用户启用思杰通用打印机(CUP),那么在会话创建的时候,该通用打印机就会自动创建,并且不与任何特定的打印机绑定。这意味着如果用户本来需要映射10台打印机,在使用思杰通用打印机之后,在登录时其会话创建的时候,Citrix会话只创建一个打印机对象(Citrix通用打印机)。这样的场景下,只有一台打印机对象被创建。这就可以大大减少资源使用和登录时间。

思杰通用打印机通过设置Citrix策略启用,自动在会话登陆时创建通用打印机。默认情况下,思杰通用打印机将会和客户端的默认打印机进行映射,也就是说这台通用的打印机在打印的时候,其打印任务通过EMF预览窗口预览后,不用选择打印机的情况下是传送到客户端所在的默认打印机的。既然是默认情况下,那么就可以修改此行为,比如说在点击打印的时候,如下图所示:

技术分享

通用打印机会弹出基于EMF的预览打印文档的窗口:

技术分享

然后在这个打印预览的界面,其通过EMF Viewer呈现,就需要用户选择其兼容的本地或网络打印机,然后进行打印,默认情况下不选择是直接连接客户端的默认打印机进行打印。我们点击EMF Viewer界面上的打印机按钮,就弹出了用于选择真实打印机的选择框:

技术分享

这个选择列表是用户需要打印的时候Citrix通过CPMS为用户枚举的用户客户端上所有的打印机,包括本地直连的打印机和网络打印机。同时,思杰通用打印机使用思杰通用打印驱动程序,并仅与Windows操作系统兼容。思杰通用打印机最适合那些拥有许多的本地打印机和网络打印机,同时又需要很快的会话登陆速度的优先级用户所使用。

同时基于UPD创建的通用打印机和映射过来的客户端的真实的打印机有趣区别的是,通用打印机无法对本地的真实打印机进行设置,因为通用打印机只是一个类似于虚拟PDF打印机的存在,并没有真实的设备同其进行交付,只有在进行打印的时候基于EMF文件生产打印的预览文件,去选择真实的打印机的时候才会去枚举和应答客户端真实打印机的打印机属性等设置。

技术分享

 

 

3.4.2CUP部署

CUP的部署很简单,只需要在Citrix策略里面启用:自动创建一般通用打印机。

技术分享

该策略允许或禁止在使用与通用打印兼容的用户设备时为会话自动创建一般 Citrix 通用打印机对象。默认情况下不自动创建一般通用打印机对象。

一些需要配置的策略为:

  • 通用打印 EMF 处理模式。控制在 Windows 用户设备上处理 EMF 后台打印文件的方法。默认情况下,系统将 EMF 记录直接后台处理到打印机中。 借助直接后台处理到打印机中的方式,后台处理程序可以更快地处理记录,且使用的 CPU 资源更少。

  • 通用打印预览首选项。指定是否使用自动创建的打印机或一般通用打印机的打印预览功能。

  • 通用驱动程序首选项。指定系统尝试使用通用打印驱动程序的顺序,从列表中的第一项开始。 可以添加、编辑或删除驱动程序以及更改列表中驱动程序的顺序。

  • 自动创建客户端打印机,该策略禁用。


 

3.5Citrix PDFPrinter(CPP)

 

3.5.1CPP概述

Citrix PDF PrinterCPP)和CUP类似,都是属于思杰通用打印机对象的范畴,只不过是CPP的将文档打印为PDF文件,然后再将PDF文件通过真实的打印机进行打印;而CUP是通过EMF文件生成打印文件,然后通过EMF Viewer进行打印预览,然后选择真实的打印机进行打印。Citrix PDF PrinterCPP)思杰PDF打印机一般的应用场景是在使用Citrix Receiver ForHTML5或者Citrix Receiver ForChome的情况下,对于Windows下的ReceiverLinux等的Receiver不适用。

其打印过程如下图所示:

技术分享

在点击打印的时候,选择思杰PDF打印机,然后就会将页面打印为PDF文件,然后用户保存下来,再寻求真实打印机打印出来。同CUP一样,思杰PDF打印机也是使用Citrix UPD实现。

3.5.2CPP部署

CPP的部署是启用Citrix策略:自动创建PDF通用打印机

技术分享


本文出自 “我拿流年乱了浮生” 博客,请务必保留此出处http://tasnrh.blog.51cto.com/4141731/1872400

Citrix XenApp和XenDesktop 打印系统解析④