JavaPrintService_Java打印API_用户手册_中文版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第一章介绍

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

相关文档
最新文档