Java打印程序设计

Java打印程序设计1 前言 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持

Java 打印程序设计 1 前言 Java 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,提供的打印功能一直都 jdkjdk1.1 比较弱。实际上最初的根本不支持打印,直到才引入了很轻量的打印支持。所以,在 Java/Applet/JSP/ServletActiveX/OCX 以前用设计的程序中,较复杂的打印都是通过调用控件 VB/VCSUNJava 或者程序来实现的,非常麻烦。实际上,公司也一直致力于打印功能的完善, Java2Java2D 而平台则终于有了一个健壮的打印模式的开端,该打印模式与图形包充分结合 jdk1.4"Java API" (Java 成一体。更令人鼓舞的是,新发布的则提供了一套完整的打印服务 Print Service API) ,它对已有的打印功能是积极的补充。利用它,我们可以实现大部分实际应用 需求,包括打印文字、图形、文件及打印预览等等。本文将通过一个具体的程序实例来说明如何 Java, 设计打印程序以实现这些功能,并对不同版本的实现方法进行分析比较希望大家能从中获 取一些有益的提示。 2Java 中的打印 2.1 JavaAPI 的打印 JavaAPIjava.awt.printjdk1.4javax.print 的打印主要存在于包中。而新增的类则主要存在于 javax.print.eventjavax.print.attributejavax.print 包及其相应的子包和中。其中包中主要包含打 javax.print.eventjavax.print.attribute 印服务的相关类,而则包含打印事件的相关定义,则包括 打印服务的可用属性列表等。 2.2 如何实现打印 要产生一个打印,至少需要考虑两条: jdk1.4 需要一个打印服务对象。这可通过三种方式实现:在之前的版本,必须要实现 java.awt.print.PrintableToolkit.getDefaultToolkit().getPrintJob 接口或通过来获取打印服务对象; jdk1.4javax.print.PrintSerivceLookup 在中则可以通过来查找定位一个打印服务对象。 jdk1.4 需要开始一个打印工作。这也有几种实现方法:在之前可以通过 java.awt.print.PrintJob(jdk1.1)printprintAll 提供的,现在已经很少用了调用或方法开始打印工 java.awt.print.PrinterJobprintDialogprint 作;也可以通过的显示打印对话框,然后通过方法开 jdk1.4javax.print.ServiceUIprintDialog 始打印;在中则可以通过的显示打印对话框,然后调 print 用方法开始一个打印工作。 2.3 打印机对话框 2.3.1 Printable 的打印对话框 PrinterJob.printDialog 开始打印工作之前,可以通过来显示一个打印对话框。它给用户一个机 会以选择应该打印的页码范围,并可供用户改变打印设置。它是一个本地对话框。

腾讯文库Java打印程序设计