java printerjob打印_java实现的打印机打印2

这篇博客介绍了如何在Java中使用PrinterJob类进行打印操作,包括设置打印份数、选择特定打印机,并展示了获取打印机属性及打印文件的详细步骤。通过DocFlavor和PrintServiceLookup等类,实现了从查找可用打印机到实际打印的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//设置打印属性 构造一个新的空打印请求属性集。

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

pras.add(new Copies(3));//打印份数,3份

//设置打印数据的格式DocFlavor.BYTE_ARRAY.PNG MIME 类型 = "image/png",打印数据表示形式类名 = "[B"(byte 数组)的 DocFlavor。

DocFlavor flavor = DocFlavor.BYTE_ARRAY.PNG;

//创建打印数据

Doc myDoc = new SimpleDoc(new File(""), flavor, null);

//查找所有符合条件的打印服务 lookupPrintServices(flavor, pras);查找能够打印指定 DocFlavor 的 PrintService。

PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, pras);

//将所有查找出来的打印机与自己想要的打印机进行匹配,找出自己想要的打印机

LookUpPrint p=new LookUpPrint();

PrintService myPrintService = p.GetPrintService("printName");

//可以输出打印机的各项属性

AttributeSet att = myPrintService.getAttributes();

for (Attribute a : att.toArray()) {

System.out.println("attributeName:"+a.getName()+ " attributeValue:" + att.get(a.getClass()).toString());

}

if (myPrintService != null) {

DocPrintJob job = myPrintService.createPrintJob();//创建文档打印作业

try {

job.print(myDoc, pras);//打印文档

} catch (Exception pe) {

pe.printStackTrace();

}

}else{

System.out.println("no printer services found");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值