Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的。

1.3.4、Windows内置打印驱动程序

现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver)、XPS打印机驱动程序(XPSDrv)、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)、微软PostScript打印机驱动程序(Microsoft PostScriptPrinter Driver)和微软绘图仪驱动程序(MicrosoftPlotter Driver)。

那么什么是Windows的驱动程序?

为术语“驱动程序”给出单一的准确定义比较困难。就最基本的意义而言,驱动程序是一个软件组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据后,它会将数据返回到操作系统,操作系统将数据返回至应用程序。

当然上面的定义严格上并不准确,并非所有驱动程序都必须由设计该设备的公司编写。在多种情形下,设备根据已发布的硬件标准来设计。这表示驱动程序可以由操作系统编写,设备设计者无须提供驱动程序。也并非所有驱动程序都直接与设备通信。对于给定的 I/O 请求(如从设备读取数据),通常有一些驱动程序(在堆栈中进行分层)参与该请求。可视化堆栈的传统方式是将第一个参与对象放在顶部,将最后一个参与对象放在底部,如此图所示。堆栈中的某些驱动程序可能通过将请求从一种格式转换至另一种格式来参与。这些驱动程序不会与设备直接通信;它们只操纵请求并将请求传递至堆栈下方的驱动程序。

1.3.4.1、V4打印机驱动程序(V4 Printer Driver)

微软在Windwos 8推出的时候在其系统中集成一个最新的打印机驱动程序,命名为V4打印机驱动程序?为什么命名V4打印机驱动程序呢?名为V4版本,主要是V4是Windows打印机驱动程序架构的第四代,其上一代V3主要用于从Windows 2000到Windows 7的历代版本中,而第一、二代则服务于Windows 1.0到Windows ME的各操作系统。最新V4打印驱动架构带来了更小、更快打印机驱动程序,它支持一个打印类(Print class)驱动框架--该系统允许用户在无需定位一款设备驱动的情况下安装打印机,从而使打印机更快的进入工作状态。对于更小的解读,是所指驱动程序的大小,比如说以前Windows Vista 的驱动程序所占空间为768MB,Win7下约446M的驱动,在V4的版本中减少到了184MB。

微软新开发的这个V4驱动程序,提供了支持 PostScript 和非 PostScript 打印机以及绘图仪的单个内置类驱动程序。该驱动程序可取代 Microsoft 绘图仪驱动程序、Microsoft 通用打印机驱动程序和 Microsoft PostScript 打印机驱动程序。该打印机驱动程序可通过自身提供基本的打印支持,无需任何修改。也就是说V4驱动程序将以前的这个驱动程序都包含在内,形成一个统一的驱动程序架构,同时现有的Windows系统因为需要兼容老旧打印机的需要,专业单独提供以前的Microsoft 绘图仪驱动程序、Microsoft 通用打印机驱动程序和 Microsoft PostScript 打印机驱动程序。共同形成了今天Window系统的打印机驱动程序种类。

下图显示了基于V4打印机驱动的架构:

上面是一个v4的打印驱动程序的架构图,在图中,除了渲染组件和用户界面的应用程序外,所有图中的其它功能块都由微软实现。其中蓝色框表示在V3的驱动程序模型中已经存在或利旧使用的现有文件,绿色框表示是V4模型中新的增加的功能模块。

旧驱动程序模型和 V4驱动程序模型之间的一个较大改变在于UI提供的方式。在旧打印机驱动程序模型中,配置UI内置于驱动程序之中。在V4驱动程序模型中,制造商的UI与他们的驱动程序完全分离。基于以下原因,这是一个更佳的体系结构决策:控制打印机的UI现在是一个可在从Metro风格应用程序或桌面应用程序打印时调用的应用程序。这可让打印机制造商为用户提供更丰富的体验。

借助 V4驱动程序模型,微软还大幅改变了打印机驱动程序的安装过程。在 Windows 7和Windows较早版本中,所有打印机驱动程序都存储于“驱动程序存储单元”中,这有点类似于所有驱动程序类型的数据库。当用户接入打印机时,微软将在驱动程序存储单元中查找适当的驱动程序,并将其复制到一个特定的位置,在此后台处理程序可与用户的打印机共同使用该驱动程序。而在 V4中,微软消除了额外的复制造作,从而显著减少了磁盘的 I/O。打印后台处理程序在V4中可以很容易的了解如何在驱动程序存储单元中查找驱动程序。

对于通过渲染将打印任务转化为打印设备的页面描述语言,V4的打印驱动程序模型使用的XPSDrv渲染模块。

下图显示了V4打印机驱动程序渲染架构图。

下文将说明上图中的流程进行简要说明,在图中,蓝色的部分就是需要打印机硬件厂家去开发或者说可以开发的功能模块。

对于XPS的应用程序,直接转入XPS Spool File里面进行存储,如果是基于GDI的应用程序,就需要经过MXDC模块的转换,从GDI转为XPS,再导入到XPS Spool File中,在之后有一个XPSDrv渲染组件,该模块有两个,一个是提供给打印机硬件厂家,打印机厂家可以自定义该组件的渲染处理器,然后将其渲染为自家的打印机PDL或者PCL、PS等,它可以使用XPS光栅或第三方RIP服务。RIP是“光栅图像处理器”(Raster Image Processor)的简写。第二个模块就完全定义好了XPS渲染模块的渲染PDL类型,比如将XPS渲染成PCL或者PS。

在图的左下角有一个颜色管理组件,颜色管理在v4的打印驱动程序提供支持,在之前的V3等版本中,这个颜色管理一般都是采用打印机自身的颜色管理组件。在V4打印驱动中,这个颜色管理和Windows的颜色系统(WCS)兼容并保持一致的颜色配置文件或遵循国际颜色联盟(ICC)颜色配置文件。同时V4打印驱动程序也可以使用特定设备颜色表的驱动程序属性包来进行颜色管理。Windows的颜色系统默认提供了 29种系统颜色以供各种显示使用。在登录系统,我们需要使用的颜色,其实就是颜色的后面跟着红、绿、蓝三种颜色的值(所有的色彩都是基于红、绿、蓝三种颜色变化而来),该值的变化范围是0到255,我们可以根据这三种颜色的值的不同而得到其他的颜色。而ICC就是InternationalColorConsortium(国际色彩协会),目前会员有70几个,全球几乎所有数字设备生产商都是其成员。该组织建立了色彩描述文件的标准格式,称为ICC 标准格式,它能跨平台、跨系统的应用在不同的成员公司的设备及软件系统中。

XPSDrv渲染还应该介绍的是,在V4的渲染架构中,添加了图形处理单元(GPU)来提供更快的XPS光栅化。

同时在V4驱动程序中,配置文件的格式还是使用通用打印机说明(GPD)和PostScript打印机描述(PPD)文件格式,与V3打印机驱动程序保持不变。现有的GPD和PPD文件是兼容的。

1.3.4.2、XPS打印机驱动程序(XPSDrv)

微软通过 XPS 打印机驱动程序 (XPSDrv) 为打印 XPS 文档格式提供支持。该驱动程序扩展了微软基于GDI的第 3 版打印机驱动程序体系结构,可支持消耗XML纸张规范(XPS)文档。通过XPSDrv打印机驱动程序,XPS文档格式可用作后台打印文件格式和文档文件格式。该XPSDrv打印机驱动程序可通过自身提供基本的XPS打印支持,无需任何修改。

XPSDrv打印机驱动程序主要由三个组成部分:

  • XPSDrv渲染模块
  • XPSDrv配置模块
  • XPSDrv的安装

就拿其渲染模块来说,在前面其实我们已经在XPS驱动框架中讲述过XPSdrv的架构了:

如图,一个XPSDrv的渲染模块主要包含这三个模块:

  • 过滤器管道管理
  • 内过滤通讯
  • 属性包

一个XPSDrv打印机驱动程序的渲染模块包含用于呈现XPS假脱机文件中的内容并过滤器输出到打印机。驱动程序是通过运行在一个过滤管道中的过滤器进行渲染。过滤器管道管理(FPM)管理器与各个过滤器通过Inter-FilterCommunicator(IFC)通讯,控制过滤器之间的相互作用。

其中过滤器管道管理必须:

  • 加载并初始化过滤器。
  • 管理过滤器之间的数据。
  • 当打印作业完成后卸载过滤器。

详细的工作过程可以返回XPS驱动框架查看。

如果打印机使用XPS调用的是一种页面描述语言(PDL),并且不希望采用XPSDrv渲染模块进行渲染,那么XPSDrv就会采用“空管道”直接将数据发送到端口监视器并转发到打印机。

而如果想要开发一个XPS驱动程序,用户仅仅需要创建以下组件:

  • XPS过滤器
  • XPS过滤管道配置文件

如下图,我们可以看到XPSDrv的配置模块结构:

如图我们可以看见,XPSdrv的配置模块其实有三个对象组成,这三个对象是相互排斥的。

特别要注意的是,在安装XPSDrv的时候,后台处理程序需要正确安装XPSDrv的引用:

驱动INF文件的CopyFiles部分指令必须引用过滤管道配置文件。需求指令必须引用Xpsdrv.oem。如果配置模块是基于Unidrv的,需求指令必须引用Unidrv.oem和Xpsgpd.oem。同样,如果XPSDrv配置模块是基于PScript5的,需求指令必须引用Pscript.oem和Xpsppd.oem。

1.3.4.3、基于OpenXPS的支持

至于对OpenXPS的支持,主要是打印系统将使用名为 XPS(XML 纸张规范)的高质量中间格式作为内部内容格式。微软选择XPS作为打印系统的基础在于XPS是一种高度灵活的格式,而且非常类似于电子纸张。XPS可支持高保真的颜色,而且由于它是基于XML的描述,并且没有嵌入可执行的代码,因而是存档的最佳格式,而且相对于其它选项,其安全系数更高。OpenXPS是Microsoft 与 ECMA Internationa(欧洲计算机制造商协会)开展了通力合作,将其制定为一个开放的标准,是微软对抗Adobe PDF格式的利器。因此所有的打印机厂商都可以使用这个标准来进行打印机驱动程序的开发。

1.3.4.4、微软通用打印机驱动程序(Microsoft UniversalPrinter Driver)

微软通过通用打印机驱动程序 (Unidrv) 为非 PostScript 打印机提供支持。为增强非 PostScript 打印机的功能,用户可以创建由一个或多个通用打印机描述 (GPD) 文件组成的微型驱动程序。通用打印机描述 (GPD) 文件是指打印机描述的文本文件。每个微型驱动程序描述了一个制造商的一种打印机类型。这种基于文本的描述称为通用打印机描述语言(GPD),每一个文件称为GPD文件。微软通用打印驱动程序(Unidrv)也被称为v3的打印驱动程序。

Unidrv使用GPD文件描述打印机,包含以下功能:

  • 通用的、标准的打印机特征,在大部分的打印机上会看到;
  • 唯一的、自定义的打印机特征,由特定打印机提供;
  • 安装打印机选项,安装以后能够被选择;
  • 选项限制,允许指定不兼容的选项;
  • 条件语句,允许指定一些打印特征依赖于其它打印特征;
  • 打印命令规则,打印命令可以是从一个大的标准变量中选择的当前值,也可以是对那些变量执行算术运算的结果;
  • 自定义的帮助文件,在unidrv提供的标准帮助文件之外,描述自定义的特征。

通常,微型驱动程序必须提供资源,例如字体、位图、本地化的文本字符串。这些资源都被封装在一个资源动态链接库中。

GPD文件用于创建unidrv的小驱动程序。该文件包含GPD文件项,这些项使用GPD语言提供以下类型的信息:

1 打印机属性,描述打印机的特征;

2 打印机命令,描述打印机的操作;

3 打印机特征,描述打印机中可被通用驱动程序控制的功能;

4打印机选项,代表可以指定给打印机的状态;

5 打印机字体描述,指定与hardware-resident及墨盒字体相关的特征;

6 条件语句,描述打印机属性和打印机配置之间的依赖关系;

GPD语言也定义GPD文件项控制以下的操作:

  • 光栅数据压缩
  • 颜色格式处理
  • Unidrv的半色调
  • 处理安装特征和选项
  • 描述打印机内存配置

通用打印机驱动程序(Unidrv)提供了以下功能:

支持所有非PostScript打印机,使用描述每个打印机的特点的具体打印机UniDrv微型。

  • 一个Unidrv的用户界面,基于TreeView控件和属性表,这对所有的打印机都是一致的。
  • 一个单一的Unidrv渲染组件,随着GDI图形引擎一起,转换微软Win32 GDI应用程序到打印机语言并将其发送到后台打印程序。

其架构如下图所示:

图中的组件包括:

  • 应用:一个用户应用程序,如文字处理软件,它向用户提供打印功能。
  • GDI32.DLL:用户模式DLL导出的Win32 GDI函数。
  • 内核模式图形引擎:实现GDI功能NT执行代码。
  • 微型驱动程序的文本文件:基于文本的UniDrv微型驱动,通过使用GPD文件描述打印机。
  • 二进制数据文件:临时文件(用.bud扩展名),是Unidrv解析包含微型驱动程序中的文本文件中的信息后生成的。
  • unidrvui.dll:UNIDRV用户界面的DLL,所有Unidrv的支持的打印机提供通用的用户界面代码。
  • 用户接口插件:可选,具体的打印机用户界面插件。
  • compstui.dll:CPSUI用户界面打印机。
  • UNIDRV.DLL:UNIDRV渲染组件在渲染后将图像和图像数据流发送到打印后台处理程序。
  • 渲染插件:可选,不适用Windows提供的渲染组件,使用打印机专用的渲染组件时,需要在这里写入该打印机的渲染插件以支持打印机渲染。

Unidrvui.dll是通用打印机驱动程序的打印机接口动态链接库,它利用公用属性页用户接口(CPSUI)来创建打印驱动程序的用户界面。用户界面包含了 Unidrv Minidriver中定制的打印机的特性与选项,可以通过修改Minidriver的文件来更改这些选项。Unidrvui.dll中的代码和CPSUI一起决定了用户界面的内容。而且Unidrv还提供了可选的用户插件接口修改用户界面的内容。

Unidrv.dll是通用打印机驱动程序的打印机图形DLL,也就是图中的UNIDRV 处理程序,它负责输出所有的DDI函数。当应用程序调用GDI函数进行打印操作的时候,这些DDI函数帮助GDI来进行打印页内图像的描画工作。随后它会将处理后的数据发送给假脱机系统,存放在打印池中。同样 Unidrv也提供了可选的Render插件来修改驱动程序的处理操作。

Minidriver Text Files是小驱动程序文本文件,其利用GPD文件条目描述打印机。安装打印机时,Unidrv的GPD解析器会解析所有的GPD文件,并利用 GPD文件所包含的信息来创建打印机的临时二进制数据文件(Binary Data Files),所有的Unidrv用户接口都包含在这个二进制文件当中。

小驱动程序(Minidriver)主要是由一些描述打印机特性的文件组成,这是微软定义的一种文本文件 GPD(Generic PrinterDescription),GPD在Unidrv中主要为驱动提供一些关于打印机的信息:描述打印机性能属性;控制打印机操作的命令;描述Unidrv可控的打印机特性;指定与打印机字体相关的字体描述;描述打印机属性与打印机配置依赖性的条件语句等。

参考:微软通用打印机驱动程序参考手册

1.3.4.5、微软PostScript打印机驱动程序(Microsoft PostScriptPrinter Driver)

微软通过PostScript打印机驱动程序 (Pscript)为PostScript打印机提供支持。为增强PostScript打印机的功能,用户可以创建由一个或多个 PostScript 打印机描述(PPD)文件和字体(NTF)文件组成的微型驱动程序。

微软通过PostScript打印机驱动程序 (Pscript)支持所有PostScript打印机,并用特定打印机的基于PPD的Pscript小驱动程序描述每一种打印机的特征。该驱动中提供一个Pscript用户接口,基于树形视图控件及属性表单,对所有的打印机是一致的,但对每一种打印机的单独选项也是可以改变的。同时还有一个单独的Pscript渲染器,与GID图形引擎一起工作,将微软应用程序Win32 GDI的调用转换成可以发送到打印假脱机的的打印机命令。并且,该打印驱动支持Adobe提供PostScript Level 1,Level 2,Leve3的全部特性。

下图描述了该驱动程序的结构图:

图中组件说明如下:

  • 应用程序:一个用户的应用程序,如可给用户提供打印能力的字处理程序。
  • gdi32.dll:用户模式的DLL,导出Win32 GDI的函数。
  • 内核模式的图形引擎:实现GDI功能的Windows NT代码执行。
  • 小驱动程序文本文件:基于文本的Pscript小驱动程序,用PPD文件创建。
  • 二进制数据文件:Pscript在解析包含于小驱动程序的文本文件中的信息后创建的临时文件(具有.bpd扩展名)。
  • ps5ui.dll:Pscript用户接口的DLL,向所有的支持Pscript的打印机提供通用的UI代码。
  • 用户接口插件:可选,特定打印机的用户接口插件。
  • compstui.dll:为打印机的CPSUI用户接口
  • pscript5.dll:pscript 渲染器,它处理文本输出并绘制图像,然后发送文本数据及图像数据到打印假脱机。
  • 渲染插件:可选,特定打印机的绘制插件。

重点说明的是,Pscript的小驱动程序是从.ppd及.ntf文件创建的。【https://msdn.microsoft.com/en-us/library/windows/hardware/ff561810(v=vs.85).aspx

PPD文件是基于文本的PostScript printerDescription(.ppd)文件,描述了PostScript打印机的特征。Pscript驱动程序对Windows 2000支持的.ppd文件是与Adobe Systems Inc公司的v4.3版的PPD规范说明相兼容的。Pscript读一个打印机的.ppd文件并将文本转换为二进制的格式,在本地存储为一个.bpd文件并在.ppd文件每一次改变时被重新生成。

NTF文件是Windows 2000字体文件(.ntf文件)是用于描述由Pscript支持的打印机的设备字体。微软提供了一个默认的.ntf文件,名为pscript.ntf,它包含有对遇到的US设备字体的通用描述。对Far East打印机,微软也提供了一个默认的.ntf文件,名称为pscriptfe.ntf,它包含对遇到的Far East打印机字体的通用描述。

另外,硬件厂商可以提供没有被pscript.ntf支持的设备字体描述。这些字体描述可以由转换AFM文件到NTF文件来被创建。定制的、特定模型的打印机可以通过将它们列为独立的打印机INF文件来安装。

Pscript根据最先检查到的特定打印机模型的.ntf文件来搜索字体的规格,然后用第一次发现的字体描述来检查pscript.nft文件。

因此在安装Pscript小驱动程序时需要一个打印机的printer.inf文件,它标识了小驱动程序的文件。如果一种打印机模式不被微软的打印机的inf文件、ntprint.inf文件所支持,就需要有厂商提供的.inf文件。.inf文件应当引用定义于ntprint.inf中的printer.inf文件数据部分及printer.inf文件的安装部分。

1.3.4.6、微软绘图仪驱动程序(Microsoft PlotterDriver)

微软通过 Microsoft 绘图仪驱动程序(Msplot)为支持惠普图形语言的绘图仪提供支持。为增强绘图仪的功能,用户可以创建由一个或多个绘图仪特性数据 (PCD)文件组成的微型驱动程序。这个驱动程序就是给专门HP的绘图仪使用的,并且支持所有的HP的绘图仪设备。我们在上文说过,绘图仪其实也是有着自己的打印语言的,绘图仪的打印语言就是HPGL和HPGL/2。

绘图仪是一种输出图形的硬拷贝设备。绘图仪在绘图软件的支持下课绘制出复杂、精确的图形,是各种计算机辅助设计不可缺少的工具。绘图仪的性能指标主要有绘图笔数、图纸尺寸、分辨率、接口形式及绘图语言等。

按照绘图方式可分为笔试和喷墨两种:

1、笔式绘图仪,用过绘图笔将纸样绘制在纸上,绘图时,绘图纸会来回的滚动所以对绘图纸张的要求就稍微高些。

2、喷墨绘图机是利用墨水将线条喷在纸上,有特制和使用HP通用喷头两种,由于是单方向的走纸,于是对纸张的要求就不是很高,如此绘图仪磨损也较小使用寿命更长。

而同样和打印机一样,对于绘图仪的驱动程序也是提供一个绘图仪驱动程序的用户界面,基于TreeView控件和属性表,所有绘图仪都是一致的。同时绘图仪驱动程序渲染模块随着GDI图形引擎一起工作,转换Win32 GDI应用程序到打印机命令并发送到后台打印程序。而且,为了提供一个新的HPGL/2兼容的设备类型的支持,都需要提供一个描述该设备的微型驱动。

其驱动的结构图下如下所示:

图中的组件包括:

  • 应用:用户应用程序,为用户提供打印功能。
  • GDI32.DLL:用户模式DLL下导出的Win32 GDI函数。
  • 内核模式图形引擎:基于NT实现GDI功能操作系统执行的代码。
  • 微型驱动程序:MSPlot微型驱动程序(.PCD文件)。
  • 缓存.PCD文件数据:从微型驱动中读取数据的.PCD文件。
  • plotui.dll:绘图仪驱动程序用户界面的DLL,为所有MSPlot支持的打印机提供通用的用户界面代码。
  • compstui.dll:CPSUI用户界面打印机。
  • plotter.dll:绘图仪驱动程序渲染,使得图像和图像数据流发送到假脱机程序。

对于绘图仪驱动程序微型驱动程序,微软绘图仪驱动程序特定型号的微型驱动程序是从HP创建并提供的描述设备特性的二进制文件.PCD。要生成.PCD文件,必须首先创建一个使用PCD源文件格式的文本文件。然后,必须运行plotgpc.exe,它是包含在Windows驱动程序工具包(WDK)中的程序。

如果我们需要新接入一款新的绘图仪,只需要设计一个新的数据文件.PCD给到Windows的绘图仪驱动,绘图仪驱动即可读取.PCD的文件并很好的和高绘图仪进行工作了。

时间: 2024-10-11 06:06:52

Windows打印体系结构之Windows内置打印驱动程序的相关文章

Windows 10 之删除内置应用

Windows 10预装了很多内置应用,其中有部分应用或许我们不喜欢,那么这些预装的如何彻底清除呢?其实这些内置应用,部分是可以删除.要注意的是,执行以下操作后会将应用商店也一并删除,目前也没有找回的方法,系统推送的某些更新会重新在系统中安装应用商店.另外,并不是所有的内置应用都能删除.部分内置应用,比如Cortana.联系支持人员.Edge浏览器.Windows反馈,设置和搜索无法从系统中删除. 方法一:用PowerSell命令进行删除(以管理员身份运行) OneNote: Get-AppxP

Go中常用包笔记 内置builtin(一)

Package builtin 定义了Go的一些预定义的符号.这些符号不需要引用任何包就可以使用. func append(slice []Type, elems ...Type) []Type 给数组切片追加元素,"泛型" func cap(v Type) int 数组,数组指针的元素数量:切片的最大容量:channel的缓冲区大小 func close(c chan<- Type) 关闭channel(只应该由channel的发送方关闭,不能对只能接收的单向channel使用

Windows打印体系结构之打印假脱机(Print Spooler)

房子好不好,对我而言始终都是肉体的栖居.对于灵魂,我从来不知道该去向何处. 1.Windows打印体系结构 首先附上查找Windows打印相关内容的链接,这个分类下包含了Windows打印的方方面面: https://msdn.microsoft.com/en-us/library/windows/hardware/ff551767(v=vs.85).aspx 如上图所示,Windows的打印体系结构是由一个打印机假脱机程序(Spooler)和一系列的打印驱动组成.其中带方框的部分都是可以编写安

Windows打印体系结构之本地打印任务处理流程①

1.4.Windows本地打印任务处理流程 1.4.1.本地打印机的架构 对Windows的本地打印任务处理的流程的说明,我想从打印机接入计算机或者操作系统说起.在这里我们仅仅针对本地计算机,因此,打印机和计算机之间,通过本地连接的话,他们之间就必须要有某一个介质和通信的协议来进行相互之间的数据传输.其中,介质归纳来说,合计有三种:USB.LPT(并口).COM(串口)[当然了现在还有无线.蓝牙这样的介质打印机].而在这里我所指的本地打印机,就是通过(计算机本地的LPT(并口).COM(串口)或

Windows打印体系结构之打印驱动框架

庐山烟雨浙江潮,未到千般恨不消.到得原来无别事,庐山烟雨浙江潮. 1.2.Windows打印驱动框架 Windows的打印驱动从总体架构上来说,包括一个渲染组件和一个配置组件.我们可以回想一下最开始的总体架构图. 渲染组件就是负责将应用程序传来的每一页的绘制命令(GDI命令)转换成打印机用来渲染的命令数据(打印机才能识别的命令)发送到打印机中. 配置组件又包含一个可以让用户进行打选项配置的用户接口组件和一个将打印机的配置和特征传递给应用程序的程序接口. 而相较于Windows的其他硬件设备,比较

Windows打印体系结构之打印机驱动程序类型

有个铺位旁边养了一支玫瑰,它本跟这个地方不搭,然而现在它开在这里也没什么所谓了. 1.3.打印机驱动程序 打印机驱动程序(Printer driver),指的是计算机的打印设备打印机的硬件驱动程序,该驱动程序承担将计算机上的应用程序数据转换成打印机能够识别.打印的数据的格式.它是操作系统与硬件之间的纽带.如果按照打印机所支持的打印机语言来分类,又可以分为三种类型: 基于主机驱动程序(Host-Based Driver) 基于PCL的驱动程序 基于Postscript的驱动程序 1.3.1.基于主

XShell已经内置rz 直接从Windows拖文件进去终端

XShell已经内置rz 直接从Windows拖文件进去终端 http://www.jb51.net/LINUXjishu/163820.html 借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混): sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载. rz中的r意为receive

卸载win10内置windows app的方法

最近,微软推出了windows10操作系统,其以漂亮的界面.良好的操作方式.方便的推送升级迅速获得了好多人的好评,因此,好多同学都换了window10操作系统.但是,微软沿袭了win8的做法,内置了很多不实用的windows app,比如Groove音乐.人脉.地图....这里,我来为大家介绍一下怎么卸载win10中的内置应用(高手请默默飘过),以下为Groove音乐截图: 要卸载它,我们用微软自带的Windows PowerShell,共分为两个步骤: 1.以管理员身份运行Windows Po

Windows 无法打开“添加打印机”。本地打印后台处理程序服务没有运行。请重新启动打印机后台处理程序或重新启动计算机。

安装的win7系统,连接打印机出现 Windows 无法打开"添加打印机".本地打印后台处理程序服务没有运行.请重新启动打印机后台处理程序或重新启动计算机 解决方案: 1.首先先检查一下电脑print spooler服务是否被禁用,经常喜欢用软件优化电脑开机启动,有可能会禁用,如果被禁用,设置为自动启动 2.如果电脑没有print Spooler服务,推荐方法,下载*.reg,解压后直接运行Print Spooler.reg,运行后,重启计算机即可.如果运行失败,注意是否被使用的安全软