java打印设置_java如何设置系统默认打印机

4、完整代码

import javax.print.*;

import javax.print.attribute.*;

import java.io.*;

public class Printing {

public static void main(String args[]) throws Exception {

String filename = "E:/JAVA/java实现打印/test.ps";

//PrintRequestAttributeSet实例。

//这用来弹出显示的对话框,并在对话框消失之前返回用户所作的任何更改。

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;

PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);//用户可选用的PrintService实例数组。

PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); //默认的PrintService

/*为用户提供一个选择 PrintService(打印机)的对话框。

gc - 用于选择屏幕。null 意味着主屏幕或默认屏幕。

x - 对话框在屏幕坐标中的位置,包括边框

y - 对话框在屏幕坐标中的位置,包括边框

services - 可浏览的服务,必须不为 null。

defaultService - 要显示的初始 PrintService。

flavor - 要打印的 flavor,或者为 null。

attributes - 输入时为应用程序最初提供的首选项。这不能为 null,但可以为空。输出时为反映用户所作的更改的属性。

*/

PrintService service = ServiceUI.printDialog(null, 200, 200,printService, defaultService, flavor, pras);

if (service != null) {

DocPrintJob job = service.createPrintJob();  //创建打印任务

FileInputStream fis = new FileInputStream(filename);

DocAttributeSet das = new HashDocAttributeSet();

/*

* 定义要打印的文档,SimpleDoc(,,)里有三个参数:

*      ·Object 代表要打印的内容

*      ·DocFlavor的一个实例描述数据类型

*      ·可选的DocAttributeSet 包含打印时的属性

*/

Doc doc = new SimpleDoc(fis, flavor, das);

/*   启动打印 job.print( , )

* doc - 要打印的文档。如果必须是一个 flavor,则此 PrintJob 必须支持它。

*  attributes - 应用到此 PrintJob 的作业属性。如果此参数为 null,则使用默认属性。

* */

job.print(doc, pras);

Thread.sleep(10000);

}

System.exit(0);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值