微软PostScirpt打印机驱动程序
PostScript打印机驱动程序,即PostScript Printer Driver(Pscript)是微软公司PostScript打印机的标准打印机驱动程序。关于Pscript主要描述了下列一些主题:
■5.1Pscript能力
■5.2Pscript组件
■5.3Pscript小驱动程序
■5.4Pscript用户接口
■5.5Pscript绘制器
5.1 Pscript能力
PostScript打印机驱动程序提供了如下的能力:
■支持所有的PostScript打印机,用特定打印机的基于PPD的Pscript小驱动程序描述每一种打印机的特征。
■一个Pscript用户接口,基于树形视图控件及属性表单,对所有的打印机是一致的,但对每一种打印机的单独选项也是可以改变的。
■一个单独的Pscript绘制器,与GID图形引擎一起,将微软应用程序对Win32 GDI的调用转换成可以发送到打印假脱机的的打印机命令。
■支持文档结构转换的3.1版本标准(Document Structuring convertion V3.1),该标准在Adobe System ,Inc公司出版的PostScript Language Reference Manual中有描述。
■为打印机提供PostScript Level 1,Level 2,Leve3特性的支持。
■下列类型字体的支持:
□增量可下载的OpenType字体,作为PostScript Type 1及 Type 2字体。
□增量可下载的TrueType字体,作为PostScript Type 1、 Type 3、Type 32、Type 42或基于CID的Type 42字体。
□增量可下载的主机驻留的光栅字体作为PostScript Type 3或者Type 32字体。
□完全可下载的主机驻留的PostScript Type 1字体。
□打印机驻留的PostScript Type1、Type2及CID字体。
□存在于打印机字符集中的每一个可被替换符号的字体,
■对ICM2.0的支持,允许在主机系统上或通过打印机硬件来执行图形色彩管理。
5.2 Pscript组件
应用程序
一个用户的应用程序,如可给用户提供打印能力的字处理程序。
gdi32.dll
用户模式的DLL,导出Wind32 GDI函数
内核模式的图形引擎
实现GDI功能的Windows NT 执行代码
小驱动程序文本文件
基于文本的Pscript小驱动程序,用PPD文件创建
二进制数据文件
Pscript在解析包含于小驱动程序的文本文件中的信息后创建的临时文件(具有.bpd扩展名)
ps5ui.dll
Pscript用户接口的DLL,向所有的支持Pscript的打印机提供通用的UI代码。
用户接口插件
可选,特定打印机的用户接口插件。
compstui.dll
为打印机的CPSUI用户接口
pscript5.dll
pscript 绘制器,它处理文本输出并绘制图像,然后发送文本数据及图像数据到打印假脱机。
绘制插件
可选,特定打印机的绘制插件
5.3 Pscript小驱动程序
Pscript的小驱动程序是从.ppd及.ntf文件创建的。
PPD文件
基于文本的PostScript printer Description(.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小驱动程序部分的内容。
Pscript根据最先检查到的特定打印机模型的.ntf文件来搜索字体的规格,然后用第一次发现的字体描述来检查pscript.nft文件。
5.3.1转换AFM文件到NTF文件
对Windows 2000,Adobe Font Metrics(AFM)文件必须被转换为.ntf文件。一个名为makenft.exe的命令行工具可以执行这一转换,该工具在本DDK中也提供。
为转换一个或多个.afm文件,用下面的命令语法:
makentf NTF_FileName.ntf AFM_FileName[-v][-o]
这里,NTF_FileName是一个要被产生的.ntf文件的名称,AFM_FileName是一个或多个将被转换的AFM文件名称。
下面的命令行选项也是支持的:
-v
冗余式。该选项创建一个包含对产生的NFT文件的文本式显示的命令输出流。
-o
省略标准的西文字符集。默认情况下,在产生.ntf文件时makentf包括一个标准的西文字符集。如果正在创建多个.ntf文件,只要所有的文件是一起使用,只需要在一个文件中包括西文字符集。例如,假设想创建一个包含罗马字体规格和另外一个包含日文字体规格的.ntf文件,可以使用下面的命令:
makentf roman.ntf roman1.afm roman2.afm roman3.afm
makentf –o jpn.ntf jpn1.afm jpn2.afm jpn3.afm
如果这些文件被一起使用,西文字符集信息总可以从roman.ntf文件获得,因此,在jpn.ntf文件中重复这样的信息是不必要的,只能是浪费附加的空间。另外一方面,如果jpn.ntf单独使用,-o就必须被指定。
另一个命令语法也是被支持的,如下:
makentf filename
这里filename是一个接收输出文本的文件名,该语法导致makentf以创建一个文件,这个文件包含PostScript字符名称列表及被makentf所知的每一个代码页的Unicode值。
另外一个文件,PSFamily.dat,是该DDK提供的并必须驻留在与包含makentf.exe文件同一目录的位置。这是一个文本文件,它可以向makentf提供每一种字体的显示及家族名称。
在一个标准的.afm文件被转换之前,必须加入下面一行:
Comment UniqueID Idnumberi
这里Idnumber表示字体的唯一标识符,由字体的厂商发布的。
一个将被转换成.ntf文件的.afm文件可以包含FontBBox2关键字。这个关键字的参数与FontBBox(参考Adobe System Inc.的Adobe字体规格文件格式规范说明)的那些参数非常相似,除了FontBBox2参数为所有在指定字符集(如90ms)中的字符描述了一个限制框,而FontBBox参数为所有在.afm文件中描述的字符联合描述限制框。如果FontBBox2没有被发现,则为FonBBox指定的值将被用于限制框。
5.3.2安装Pscript小驱动程序
安装Pscript小驱动程序需要一个打印机的printer.inf文件,它标识了小驱动程序的文件。如果一种打印机模式不被微软的打印机的inf文件、ntprint.inf文件所支持,就需要有厂商提供的.inf文件。.inf文件应当引用定义于ntprint.inf中的printer.inf文件数据部分及printer.inf文件的安装部分。对一个名称为abc100的小驱动程序,下面的.inf条目是通常需要的:
[Manufacturer]
“ABC Printers”
[ABC Printers]
“ABC Printer 100 PS”=ABC100.PPD,ABC_Printer_100_PS
[ABC100.PPD]
CopyFiles=@ABC100.ppd ;PPD file
DataSection=PSCRIPT_DATA ;PSCRIPT Data Section
DataFile=ABC100.ppd
Include=NTPRINT.INF ;Include NTPRINT.INF
Needs=PSCRIPT.OEM ;Install PSCRIPT
如果提供了用户接口插件或绘制插件,需要在.inf文件中包括这些组件的名称。更多的关于安装定制代码的信息,参考第7章安装定制驱动程序组件部分的内容。
5.4 Pscript用户接口
Pscript用户接口用CPSUI以创建下面的属性表面页面:
■打印机属性表单的设备设置(Device Settings)页面,当一个用户从打印文件夹或打印机窗口选择了属性菜单项目时它就会显示。该页面列出了打印机专用的配置信息。
■文档属性表单的布局(Layout)、纸张/质量(Paper/Quality)、高级(Advanced)等页面。这些页面会在用户选择了从打印文件夹或打印机窗口的打印优选项(Printing Preference)菜单项时显示。或者一个应用程序调用PrinterProperties或DocumentProperties函数(在平台的SDK文档中描述)。这些页面列出了特定文档的配置信息。
这些属性表单页面包含了打印机的特性及由打印机的Pscript小驱动程序指定的打印机的选项。也允许用户修改这些选项值。
Pscript用户接口是作为一个用户模式的打印机接口DLL来实现的。在这一DLL中的代码,与CPSUI连接起来,指定了属性表单页面的内容。基于小驱动程序中的信息,DLL在这些打印机可组合的选项上施加限制。它也确保了用户不去选择没有安装在打印机上的选项。
可以通过提供一个用户接口的插件来修改Pscript提供的属性表单页面,这些内容在第7章中的定制微软打印机驱动程序部分描述。
5.5 Pscript绘制器
Pscript绘制器是作为一个打印机图形的DLL实现的,这样可以导出由微软设备驱动程序接口(DDI:Device Driver Interface)为图形驱动程序定义的函数。当一个应用程序调用图形设备接口(GDI:Graphics Deivce Interface)函数以向打印机设备发送文本及图像,内核模式的图形引擎调用绘制器的DDI函数。这些DDI函数帮助GDI绘制打印机作业的页面图像。
绘制器同时也负责按照打印机命令序列发送文本及绘制图像到打印假脱机,假脱机然后直接将数据流及命令发送到打印机硬件。
可以通过提供一个绘制插件来修改Pscript的绘制操作,这些内容也在第7章中的定制微软打印机驱动程序部分中描述。

PostScirpt打印机驱动程序相关推荐

  1. 打印机驱动程序属于计算机硬件吗,如何安装打印机驱动程序,详细教您如何给电脑安装打印机驱动程序...

    随着科技发展越来越发展,一些产品设备已经逐渐变成生活中,工作上必不可少的一部分,而打印机则是代表之一了.而我们想要使用一台打印机,需要在电脑上安装一个打印机驱动程序,才能让打印机正常工作.那么打印机驱 ...

  2. hiti打印机android驱动,HiTi 打印机 驱动程序下载——更新 HiTi 软件

    HiTi 打印机 驱动程序下载 如何手动下载和更新: 你可以通过 %%os%% 或通过执行 Windows® 更新获取基本的 HiTi Printer 驱动程序. 内置驱动程序将支持Printer的基 ...

  3. hp打印机怎么连接电脑_hp打印机驱动怎么安装 惠普打印机驱动程序安装方法【详解】...

    打印机是办公室必备的办公产品之一,惠普打印机作为一 家具 有多年打印机制造经验的品牌,深受着众多办公人群的喜爱.只是对于惠普打印机驱动的安装,办公新手们会感到有些棘手,为此下面带来hp打印机驱动怎么安 ...

  4. 苹果报告问题_部分 Mac 用户报告称系统将打印机驱动程序视为恶意软件

    原标题:部分 Mac 用户报告称系统将打印机驱动程序视为恶意软件 一些用户报告,由于 macOS 错误声称某些软件为恶意软件,他们无法再使用惠普打印机进行打印,或者无法继续通过专用应用来播放 Amaz ...

  5. dcp9020cdn可以打印a3纸吗_兄弟DCP-9020CDN打印机驱动(兄弟9020CDN打印机驱动程序)V1.0 正式版...

    兄弟DCP-9020CDN打印机驱动(兄弟9020CDN打印机驱动程序)是一款很实用的为兄弟DCP-9020CDN打印机推出的专业驱动程序.小编带来的这款兄弟DCP-9020CDN打印机驱动可以帮助解 ...

  6. 彻底删除windos8 打印机驱动程序

    在windows8 上彻底删除驱动程序是一件令人头痛的事,明明已经删除了,可是一插上打印机,驱动又回来了,说明并没有彻底删除,经过摸索,我总结出以下方法,可以完全删除打印机驱动程序. 首先在控制面板- ...

  7. 佳能canon e510打印机驱动 1.0 官E510 series XPS 打印机驱动程序 v. 5.62 (Windows)

    佳能canon e510打印机驱动 1.0 官E510 series XPS 打印机驱动程序 v. 5.62 (Windows) 操作系统 Windows 10 Windows 10 (x64) Wi ...

  8. win7删除计算机 网络打印机驱动程序,Windows 7、8 系统下手动删除打印机驱动程序的方法...

    Windows 7.8 系统下手动删除打印机驱动程序的方法 操作方法 1.根据不同的操作系统做以下操作: 在 Windows 7 操作系统中,依次点击"开始( )"→"控 ...

  9. 计算机打印机能不能取消正在,删除HP打印机驱动程序. 打印机驱动程序正在使用中,无法删除...

    1. 依次单击"开始"→"打印机和传真". 在"打印机和传真"窗口中,找到打印机图标. 2. 在"打印机和传真"窗口中, ...

  10. 如何彻底删除打印机驱动程序

    如何彻底删除打印机驱动程序 windows键 + R键 键入 services.msc 打开服务. 找到 print spooler 服务后停止服务. 删除C:\windows\System32\sp ...

最新文章

  1. apache的动态编译和静态编译
  2. javascript:call和apply函数的用法(转载)
  3. spring cloud: 使用consul来替换config server,config key/value 具体的配置详解
  4. UBuntu安裝使用PIP
  5. apache spark_Apache Spark Job的剖析
  6. 最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)
  7. java 动态网页_JavaWeb01-动态网页
  8. php枚举属于什么类型,python枚举类型是什么?python枚举类型的简单介绍
  9. Java 多态 ——一个案例 彻底搞懂它
  10. mongoose数据查询or、and、where等用法
  11. powerShell中 diff的使用
  12. 程序员30多岁了还单身的原因
  13. 37. 使用accumulate或者for_each进行区间统计
  14. 如何添加、管理和删除PDF高亮文本?
  15. cad导出pdf_CAD手机看图软件中导出的CAD图纸为什么没有颜色?
  16. react中可使用的video插件
  17. 好用且种类多的Unity3d游戏特效素材推荐,都在这里
  18. 用cdr怎么精确裁剪图形
  19. 数据时代的来临,大数据价值主要体现在哪几个方面?
  20. java分布式框架-JDF

热门文章

  1. 苹果无需越狱(iPhone、iPad)手机多开教程
  2. 基于Struts的网上书店设计毕业论文(含源文件)
  3. 仿生蜘蛛机器人的制作
  4. 国美易卡借助互联网,国美易卡搭建风控、运营、营销体系
  5. html5 拖拽 编辑 插件,超给力 Vue.js 可视化H5拖拽编辑器Quark-H5
  6. 虚拟机dns服务器不可以,windows虚拟机中DNS服务配置
  7. MyBatis 类型转换器
  8. java 微信公众号发红包_微信公众号如何给用户发红包?
  9. MHL接口是一种废品接口
  10. hadoop:Secondary NameNode 它究竟有什么作用?