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

合集下载

JAVA中的打印

JAVA中的打印

java定位打印(如:超市,票据打印)Java自从问世以来在各方面发展迅速,但是一直以来,打印输出是java最弱的方面。

事实上,java1.0不支持任何打印功能。

Java1.1在java.awt包里包含了一个叫做PrintJob的类,但是这个类提供的打印功能十分粗糙和不可靠。

当java1.2问世,它围绕PrinterJob设计了一个完整独立的打印机制(叫做java2D printing API),并且在java.awt.print包里定义了一些新的类和接口。

这些使得基于PrintJob打印机制(就是AWT printing)基本荒废,虽然PrintJob从未被抨击而且至少在这篇文章里仍然是一个提供技术的类。

在J2SE1.3里当PrintJob的功能扩展到可以通过在java.awt包里的JobAttributes 和PageAttributes两个类设定工程和页面的属性时发生了一些额外的改变。

随着J2SE1.3的发布,打印功能相应的得到了完善;但是在混合使用这两种完全不同的打印机制的时候仍然存在一些问题。

比如,这两种机制使用java.awt.Graphics这个类的一个接口来展现打印内容,意味着所有要打印的东西都必须用一张图片表示。

另外,完善的PrintJob提供了很有限的工程相关属性的设置;这两种机制都没有办法通过程序来选择目标打印机。

Java打印最大的改变来自于J2SE1.4的发布带来的Java打印服务API。

这个第三代Java 打印支持接口突破了先前提到的局限性。

因为新的API就是以前两种旧的打印机制定义的功能函数的一个父集。

下面是我通过这些API写的定位打印示例代码,希望对用java实现打印的朋友有一定的帮助!在CentOS4.4,jdk1.6下测试通过。

package com.eadd.test.print;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.print.PageFormat;import java.awt.print.Printable;import java.awt.print.PrinterException;import javax.print.Doc;import javax.print.DocFlavor;import javax.print.DocPrintJob;import javax.print.PrintException;import javax.print.PrintService;import javax.print.PrintServiceLookup;import javax.print.SimpleDoc;import javax.print.attribute.DocAttributeSet;import javax.print.attribute.HashDocAttributeSet;import javax.print.attribute.HashPrintRequestAttributeSet;import javax.print.attribute.PrintRequestAttributeSet;import javax.print.attribute.standard.MediaSizeName;import javax.swing.JOptionPane;/*** java定位打印,把打印内容打到指定的地方。

java print用法

java print用法

java print用法==========Java Print是一个Java平台提供的打印API,它提供了多种方式来处理打印任务。

在本文档中,我们将介绍Java Print API的主要用法和功能。

一、打印服务------Java Print API需要一个打印服务来执行打印任务。

打印服务可以是本地打印机,也可以是远程打印机。

要使用Java Print API,首先需要设置一个打印服务。

### 1. 获取打印服务可以使用`PrintServiceLookup`类来获取本地打印服务列表。

以下是一个示例代码:```javaPrintServiceLookup lookup =PrintServiceLookup.lookupPrintServices(null);```这将返回一个`PrintService[]`数组,其中包含了本地可用的打印服务列表。

### 2. 选择打印服务可以根据需要选择一个特定的打印服务来执行打印任务。

可以使用`PrintService`类的构造函数来创建一个打印服务对象,并指定其名称或标识符。

以下是一个示例代码:```javaPrintService printService =PrintServiceLookup.lookupDefaultPrintService();```这将返回默认的打印服务对象。

二、打印任务------Java Print API提供了多种方式来创建和执行打印任务。

以下是一些常用的打印任务类型:### 1. 文本打印任务可以使用`PrinterJob`类创建一个文本打印任务,并指定要打印的文本内容。

以下是一个示例代码:```javaPrinterJob job = PrinterJob.getPrinterJob();job.setPrintable(new Printable() {public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {if (pageIndex > 0) {return NO_SUCH_PAGE; // Skip this page if it's not the first page}String text = "Hello, world!"; // The text to be printedgraphics.drawString(text, 100, 100); // Position the text at (100, 100) on the pagereturn PAGE_EXISTS; // Return success if this page exists, indicating that more pages may follow.}});job.print(); // Execute the print job```### 2. 图像打印任务可以使用`Graphics2D`对象绘制图像,并将其作为打印任务的内容。

svf for java print 用户使用手册

svf for java print 用户使用手册

svf for java print 用户使用手册SVF for Java是一个用于打印的Java库,它提供了一种简单而强大的方式来处理打印任务。

本用户使用手册将为您介绍SVF for Java Print的主要功能和使用方法,以便您能够充分了解和利用该库。

一、概述SVF for Java Print允许您在Java应用程序中生成和管理打印任务。

您可以使用该库轻松地创建打印文档、设置打印参数以及控制打印机的行为。

无论您是开发商还是普通用户,使用SVF for Java Print都能轻松实现高质量的打印操作。

二、安装和配置1. 下载SVF for Java Print库文件并将其添加到您的Java项目中。

2. 确保您的项目已正确配置Java打印环境,包括打印机驱动程序的安装和设置。

3. 导入SVF for Java Print库文件到您的Java类中。

三、打印任务的创建和管理使用SVF for Java Print,您可以按照以下步骤创建和管理打印任务:1. 创建一个打印文档对象,并设置其属性,如纸张大小、页面边距等。

2. 使用图形和文本等元素绘制您要打印的内容。

3. 将内容添加到打印文档对象中,并根据需要进行布局和调整。

4. 设置打印参数,例如打印份数、打印范围以及打印机选择等。

5. 调用打印文档对象的打印方法,将打印任务发送到打印机进行打印。

6. 在需要的时候,可以取消或暂停打印任务,并获取其状态和进度信息。

四、示例代码下面是一个简单的示例代码,演示了如何使用SVF for Java Print创建和打印一个简单的文档:```import com.svf.print.PrintDocument;import com.svf.print.PrintManager;public class PrintExample {public static void main(String[] args) {// 创建打印文档对象PrintDocument document = new PrintDocument();// 设置纸张大小和边距document.setPaperSize(PrintManager.PaperSize.A4);document.setMargin(20, 20, 20, 20);// 绘制打印内容document.drawText("Hello, SVF for Java Print!", 50, 50);// 设置打印参数document.setCopies(1);// 打印文档PrintManager printManager = new PrintManager();printManager.print(document);}}```五、注意事项在使用SVF for Java Print时,请注意以下事项:1. 确保您的打印机驱动程序已正确安装,并设置适当的打印机。

java print使用的参数类型

java print使用的参数类型

java print使用的参数类型Java中的print方法是用于在控制台输出信息的常见方法之一。

它有多个重载方法,每个方法都接受不同类型的参数。

在下面的文章中,我将逐步回答关于Java print方法使用的参数类型。

一、Java中的Print方法在Java中,有多个版本的print方法可供选择,这些方法位于PrintStream 和PrintWriter类中。

这些类是Java IO库中用于处理字符和字节输出的类。

1. PrintStream类的print方法PrintStream类中的print方法有多个重载版本,接受各种不同类型的参数。

以下是其中一些常用的参数类型:a. 基本类型参数:例如int、boolean、char等b. 引用类型参数:例如String、Object等c. 数组:例如int[]、char[]等下面是一个示例代码,演示了如何使用PrintStream的print方法:PrintStream ps = System.out;int i = 10;boolean b = true; char c = 'A';String str = "Hello";ps.print("Integer: "); ps.print(i);ps.print("Boolean: "); ps.print(b);ps.print("Character: "); ps.print(c);ps.print("String: "); ps.print(str);int[] arr = {1, 2, 3};ps.print("Array: "); ps.print(arr);运行以上代码将会在控制台输出以下内容:Integer: 10Boolean: trueCharacter: AString: HelloArray: [I6f94fa3e2. PrintWriter类的print方法PrintWriter类也有多个重载版本的print方法,与PrintStream类相似,接受各种不同类型的参数。

java实现打印功能的一些API

java实现打印功能的一些API

java实现打印功能的⼀些APIjava实现打印功能的⼀些类主要类与接⼝位置(包): (1)java.awt.print (2)(JDK1.4新增)。

其中 a). java.print包中主要包含打印服务的相关类; b). 其⼦包javax.print.event则包含打印事件的相关定义; c). 其⼦包javax.print.attribute则包括打印服务的可⽤属性列表等;主要类与接⼝: 1.PrintJob 2.PageFormat 3.Page1.java.awt.print1.1 PrintJob实现打印功能的核⼼类1.1.1 getPrintJob()作⽤:返回默认打印机。

如果没有打印机,则仍返回⼀个PrintJob对象,但是getPrintService()返回null。

throws:SecurityException1.2 PageFormat设置打印的纸的⼤⼩与⽅向2.javax.print2.1 PrintService 接⼝ PrintService 是 DocPrintJob 的⼯⼚。

PrintService 描述了打印机的功能,并可查询它来了解打印机⽀持的属性2.2 DocFlavor 类 DocFlavor 封装了⼀个提供给 DocPrintJob 打印数据的格式的对象。

2.3 PrintServiceLookup 此类为特定类型的 PrintService提供查找服务3.javax.print.attribute4.javax.print.attribute.standard4.1 Copies打印副本的数量5.javax.print.event6.涉及到的属性(Attribute)实现类 每⼀个AttributeSet⼦接⼝都有⼀个相应Attribute⼦接⼝和继承⼦类。

当添加⼀个属性时,继承的⼦类试图把Attribute作为参数给相应的⼦接⼝,这样来确保只有当前适当的属性会成功添加 注:打印属性较多,查找时可以从DocAttribute, PrintRequestAttribute, PrintJobAttribute这三个接⼝的实现类⼊⼿。

java说明文档中文版

java说明文档中文版

java说明文档中文版篇一:java说明文档中文版Java SE Platform 软件包java.applet 提供创建applet 所必需的类和applet 用来与其applet 上下文通信的类。

java.awt 包含用于创建用户界面和绘制图形图像的所有类。

java.awt.color 提供用于颜色空间的类。

java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。

java.awt.dnd Drag 和Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与GUI 中显示元素逻辑相关的实体之间传输信息。

java.awt.event 提供处理由AWT 组件所激发的各类事件的接口和类。

java.awt.font 提供与字体相关的类和接口。

java.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的Java 2D 类。

java.awt.im 提供输入方法框架所需的类和接口。

java.awt.im.spi 提供启用可以与Java 运行时环境一起使用的输入方法开发的接口。

java.awt.image 提供创建和修改图像的各种类。

java.awt.image.renderable 提供用于生成与呈现无关的图像的类和接口。

java.awt.print 为通用的打印API 提供类和接口。

java.beans 包含与开发beans 有关的类,即基于JavaBeansTM 架构的组件。

java.beans.beancontext 提供与bean 上下文有关的类和接口。

java.io 通过数据流、序列化和文件系统提供系统输入和输出。

ng 提供利用Java 编程语言进行程序设计的基础类。

ng.annotation 为Java 编程语言注释设施提供库支持。

ng.instrument 提供允许Java 编程语言代理检测篇二:java说明文档中文版JA VA开发人员必备是CHM格式的,中文版,就是详细介绍java(j2se平台)系统包,类库的文档JavaTM 2 Platform Standard Edition 6API 规范本文档是Java 2 Platform Standard Edition 6.0 的API 规范。

java中文参考手册

java中文参考手册

java中文参考手册摘要:1.Java 简介2.Java 的历史和发展3.Java 的跨平台特性4.Java 的基本语法和数据类型5.Java 的控制结构6.Java 的数组和字符串操作7.Java 的面向对象编程8.Java 的异常处理9.Java 的输入输出流10.Java 的多线程编程11.Java 的网络编程12.Java 的集合框架13.Java 的日期和时间操作14.Java 的图形界面编程15.Java 的异常处理机制16.Java 的文件操作17.Java 的数据库编程18.Java 的Web 开发19.Java 的企业级框架20.Java 的安全机制正文:Java 中文参考手册Java 是一种广泛使用的计算机编程语言,它具有跨平台、面向对象、安全性等特点,被广泛应用于Web 开发、桌面应用开发、移动应用开发等领域。

1.Java 简介Java 由Sun Microsystems 公司于1995 年推出,是一种高级编程语言。

Java 的跨平台特性使得开发的程序可以在不同的操作系统上运行,这主要得益于Java 虚拟机(JVM)的存在。

2.Java 的历史和发展Java 语言的雏形最早出现在1991 年,当时Sun 公司为了在电视遥控器等嵌入式设备上运行游戏而开发了一种名为Oak 的编程语言。

随着技术的进步和需求的变化,Oak 逐渐演变成了Java。

3.Java 的跨平台特性Java 的跨平台特性主要归功于Java 虚拟机(JVM)。

JVM 可以在不同的操作系统上安装,Java 程序通过JVM 解释执行,因此具有很好的跨平台性能。

4.Java 的基本语法和数据类型Java 的语法类似于C++,但摒弃了C++中的一些特性,如指针操作和多重继承。

Java 的数据类型分为基本数据类型和引用数据类型。

5.Java 的控制结构Java 的控制结构包括条件语句(if、else、switch 等)、循环语句(for、while、do-while 等)和分支语句(break、continue、return 等)。

java实现打印功能

java实现打印功能

java实现打印功能Java是一门具有强大打印功能的编程语言,它提供了多种打印方式和工具,可以满足不同场景的需求。

首先,Java提供了标准输出流System.out,它是Java程序默认的打印输出流。

我们可以使用System.out.println()方法打印字符串、数值、变量等内容到控制台。

例如:```System.out.println("Hello, World!");```这段代码会在控制台输出"Hello, World!"。

除了System.out,Java还提供了PrintStream类和PrintWriter类,它们是更通用、功能更强大的打印输出流。

PrintStream类位于java.io包中,可以向不同输出设备打印文本。

我们可以使用PrintStream的println()方法打印内容到指定输出流,例如:```PrintStream ps = new PrintStream("output.txt");ps.println("Hello, World!");```这段代码会将"Hello, World!"打印到名为output.txt的文件中。

PrintWriter类也位于java.io包中,提供了更多的打印选项和功能。

与PrintStream类似,我们可以使用PrintWriter的println()方法进行打印,例如:```PrintWriter pw = new PrintWriter(System.out);pw.println("Hello, World!");```这段代码会将"Hello, World!"打印到控制台。

除了基本的打印功能,Java还提供了其他高级的打印库和工具,例如Java打印服务API(Java Print Service API),它允许我们通过Java程序对打印机进行操作,实现打印PDF、图片、文本等文件类型。

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

目录第一章介绍Java平台打印的历史JDK 1.3JDK 1.2JDK 1.1Java Print Service API能做什么Java Print Service 构架javax.print包发现打印服务指定打印数据格式创建打印工作javax.print.event包应用程序如何使用JPS一个基本的例子第二章属性属性的类别和值属性角色属性集如何指定属性标准属性OrientationRequestedCopiesMediaMediaSizeMediaPrintableAreaDestinationSheetCollateSidesFidelity使用JPS属性第三章指定文档类型用户格式打印数据预定义数据格式的MIME类型文本数据页面描述语言文档图像数据自适应打印数据表示类字符编码的重要性服务格式打印数据怎样使用DocFlavor第四章打印及流化文档比较StreamPrintService与PrintService定位服务发现打印服务发现流打印服务获得一个打印工作创建DOC注册事件打印服务事件打印工作事件PrintJobAttributeListenerPrintJobListener提交打印工作向打印机提交打印工作向流提交打印工作打印服务提供商第五章打印及流化2D图像使用打印工作打印或流化图像打印2D图像流化2D图像使用服务格式数据打印服务格式数据流化服务格式打印数据示例:PrintPS.java示例:PrintGIFtoStream.java示例:Print2DPrinterJob.java示例:Print2DGraphics.java示例:Print2DtoStream.java示例:PrintGIF.javaJava 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.2JDK 1.2为Java平台添加了java.awt.print包,它允许应用程序打印所有的Java 2D图像,包括2D图表、文本和图片。

JDK 1.1Java 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.printjavax.print.attributejavax.print.attribute.standardjavax.print.eventjavax.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表示。

相关文档
最新文档