没有合适的资源?快使用搜索试试~ 我知道了~
首页javaprint API使用手册
资源详情
资源评论
资源推荐

JavaPrintService_Java 打印 API_用户手册_中文版
目录
第一章 介绍
Java 平台打印的历史
JDK 1.3
JDK 1.2
JDK 1.1
Java Print Service API 能做什么
Java Print Service 构架
javax.print 包
发现打印服务
指定打印数据格式
创建打印工作
javax.print.event 包
应用程序如何使用 JPS
一个基本的例子
第二章 属性
属性的类别和值
属性角色
属性集
如何指定属性
标准属性
OrientationRequested
Copies
Media
MediaSize
MediaPrintableArea
Destination
SheetCollate
Sides
Fidelity
使用 JPS 属性
第三章 指定文档类型
用户格式打印数据
预定义数据格式的 MIME 类型
文本数据
页面描述语言文档
图像数据
自适应打印数据
表示类
字符编码的重要性
服务格式打印数据

怎样使用 DocFlavor
第四章 打印及流化文档
比较 StreamPrintService 与 PrintService
定位服务
发现打印服务
发现流打印服务
获得一个打印工作
创建 DOC
注册事件
打印服务事件
打印工作事件
PrintJobAttributeListener
PrintJobListener
提交打印工作
向打印机提交打印工作
向流提交打印工作
打印服务提供商
第五章 打印及流化 2D 图像
使用打印工作打印或流化图像
打印 2D 图像
流化 2D 图像
使用服务格式数据
打印服务格式数据
流化服务格式打印数据
示例:PrintPS.java
示例:PrintGIFtoStream.java
示例:Print2DPrinterJob.java
示例:Print2DGraphics.java
示例:Print2DtoStream.java
示例:PrintGIF.java
Java Print Service 词汇表

第一章 介绍
Java Print Service (JPS)是一个 Java 打印 API,设计此 API 是为了支持在所有 Java
平台上的打印工作——包括微空间平台,并且支持现有的 API。这个统一的打印
API 包括了 IETF 规范 RFC 2911 中 Internet Printing Protocol (IPP) 1.1 所指定的标准
属性以及在此基础上的可扩展的打印属性。通过这些属性,客户端和服务器端应
用程序就能够发现并选定具有完成属性设置所指定的功能的打印机。除了 API 中
包含的 StreamPrintServece,它还允许应用程序将打印数据转码为不同的格式,
第三方也可以通过 Service Provider Interface (SPI)动态安装他们自己的打印服务。
Java 平台打印的历史
JDK 1.3
为了使用户的应用程序能够指定打印工作的参数和页面属性,JDK 1.3 向 AWT
引入了 JobAttributes 和 PageAttributes 类。
两个 API 支持基本的页面绘制,作为打印子系统的一部分,它会表示和格式
化一个页面。虽然用户可以从打印对话框中选择打印机并使用 JobAttributes 和
PageAttribtes 来设定打印属性,但无论是 AWT 还是 Java 2D 打印 API 都不支持基
于打印功能寻找打印机,而这对于任何一个打印系统都是必不可少的组成部分。
要了解更多关于 Java 平台打印的历史请参看 Printing Help for Java Developers。
JDK 1.2
JDK 1.2 为 Java 平台添加了 java.awt.print 包,它允许应用程序打印所有的 Java
2D 图像,包括 2D 图表、文本和图片。
JDK 1.1
Java Development Kit 版本 1.1 首次为 Java 平台引入了对基本打印功能的支持。
JDK 1.1 打印 API 为开发者提供了一个基本的框架用于从客户应用程序中打印用
户接口上下文。JDK 1.1 打印 API,也叫做 AWT Printing API,是围绕 java.awt.PrintJob
类来设计的,它封装了一个打印请求。PrintJob 类创建一个 Graphics 的子类,它
实现了对页面的渲染调用和绘制。
Java Print Service API 能做什么
Java Print Service API 解决了当前 Java Print API 所不具备的关于客户端以及服
务器端应用程序中常见的打印需求,统一和扩展了 Java 平台的打印能力。除了
支持现有的 Java 2D 打印功能之外,Java Print Service 还新增了许多新特性,包括:
· 客户端和服务器端应用程序都可以自主寻找、选择打印设备,并指定打印工
作的各种属性。这样,JPS 就提供了打印子系统中一直缺失的部分:可编程的
打印设备搜索。

· 标准 IPP 属性的实现被作为一级类对象包含在了 JPS API 中。
· 应用程序可以扩展包括在 JPS API 中的属性。
· 第三方可以通过 Service Provider Interface 接口添加自己的打印服务。
Java Print Service 构架
Java print service API 包含四个包,分别是:
javax.print
javax.print.attribute
javax.print.attribute.standard
javax.print.event
javax.print 包
javax.print 包是 API 的主包,其中包含的类和接口能够让你:
· 发现打印服务(Print Services)
· 指定打印数据的格式
· 从一个打印服务创建打印工作(print jobs)
· 向一个打印设备或者数据流发送打印数据
发现打印服务
应用程序通过调用虚拟类 PrintServiceLookup 的静态方法来定位能够满足应
用程序打印需求的打印服务。例如,需要双面打印一个文档,应用程序就必须首
先找到具备双面打印能力的打印设备。
PrintServiceLookup 返回的某个 PrintService 接口的实现类代表一个真实的打
印设备。PrintService 接口具有众多能够返回打印服务所支持的属性的方法,通
过调用其中的一个便可以确定这个 PrintService 对象所具备的功能。在
《打印及
流化文档》
章节的
《定位服务》
小节对 PrintService 类和 PrintServiceLookup 类进
行了讨论。
JDK 自带的 PrintServiceLookup 实现类能够定位标准平台下的打印设备。如果
需要定位其他类型的打印设备,如 IPP 打印机或 JINI 打印机,则打印服务的提供
者可以重新编写 PrintServiceLookup 类的实现。打印服务提供者可以使用 SPI JAR
文件规范来动态安装自定义的 PrintServiceLookup 实现。
除了向一台打印设备发送数据,应用程序还可以使用 StreamPrintService 对象
将数据打印到一个输出流中,这就使得应用程序能够将打印数据转换为不同的格
式 。 为 了 获 得 一 个 StreamPrintService 对 象 , 应 用 程 序 需 要 使 用 虚 拟 类
StreamPrintServiceFactory 提供的查找方法,这与 PrintServiceLookup 类发现打印
服 务 的 办 法 类 似 。 在
《 打 印 及 流 化 文 档 》
章 节 中 讲 述 了 如 何 使 用
StreamPrintServiceFactory 类和 StreamPrintService 类。StreamPrintService 对象还
可以被用于向输出流发送 2D 图像数据,这在
《打印及流化
2D
图像》
章节中有
详细的说明。
指定打印数据格式
DocFlavor 类代表了打印数据的格式,如 JPEG 或 PostScript。一个 DocFlavor

对象包括了一个 MIME 类型,它用于描述格式和代表该格式的表示类名,如
java.io.InputStream,它指明了如何将文件发送给打印服务。为了方便起见,JPS API
已经预定义了一些代表通用数据格式的 DocFlavor 对象。在
《指定文档类型》
章
节中讲述了关于如何使用 DocFlavor 对象的细节。
创建打印工作
当一个适合的打印服务被找到,应用程序就会从中创建一个打印工作,打印
工作由 DocPrintJob 类对象来表示,该对象提供了实际的打印方法。在呼叫打印
之前,应用程序会创建一个 Doc 对象,该对象用来封装打印数据以及打印要求的
属性,这些属性被定义在包 javax.print.attribute 和包 javax.print.attribute.standard
中。
《打印及流化文档》
章节中讲述了如何使用 Doc 类和 DocPrintJob 类。通过 JPS,
应用程序既可以使用 PrinterJob 类也可以使用 DocPrintJob 类来打印 2D 图像。
《打
印及流化
2D
图像》
章节对此进行了讨论。
javax.print.attribute 包和 javax.print.attribute.standard 包定义了打印属性。它
们描述了打印服务的功能、文档的特性、操作文档或整个打印工作的指令、以及
打印工作或打印设备的状态。
javax.print.attribute 包描述了属性的类型以及它们如何被归类于集合之中。
Attribute 接口是所有打印属性的父接口。javax.print.attribute 包所包含的类和接
口定义了五种不同类型的属性,其中每一种描述了一个打印服务所具备的功能。
例如,PrintRequestAttribute 接口定义了用户用来描述打印工作特性的一些属性,
如打印成几份等。
javax.print.attribute.standard 包中列举了 API 所支持的所有的标准属性,其中
大部分是 IPP 规范所规定的属性。
《属性》
章节讨论了关于属性 API 的更多细节。
javax.print.event
包
javax.print.event 包内包括了允许应用程序在打印工作和打印服务上注册事
件的类。要获得关于注册打印工作事件的详细信息,请阅读
《注册事件》
小节。
应用程序如何使用 JPS
应用程序使用 JPS API 操作打印请求的典型方法包括以下几步:
· 获得一个适合的 DocFlavor,它是定义打印数据格式的类。
· 创建并填写 AttributeSet,它封装了描述打印服务功能的属性集,如打印 5 份,
装订,以及双面打印。
· 查找一个能够处理由 DocFlavor 和属性集指定的打印请求的打印服务。
· 在该打印服务上创建一个打印工作。
· 调用打印工作的 print 方法。
以上步骤,应用程序会根据打印对象和打印方式的不同进行不同的操作。应
用程序也可以向一个打印设备或输出流发送打印数据。打印数据可以是文本文档
或图形,也可以是封装了 2D 图像的 Java 对象。如果打印数据是 2D 图像,则打
印工作既可以由 DocPrintJob 表示,也可以由 PrinterJob 表示。如果打印数据是文
本文档,那就必须使用 DocPrintJob。
打印方法和打印数据格式共同决定了如何从六种打印机制中选择一种:
剩余46页未读,继续阅读















honghunum
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0