生活随笔
收集整理的這篇文章主要介紹了
java 指定打印机 进行打印
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
[java]?view plain
?copy package?com.printer;?? ?? import?java.io.*;?? import?java.util.Locale;?? ?? import?javax.print.*;?? import?javax.print.attribute.*;?? import?javax.print.attribute.standard.*;?? ?? public?class?PrintTest?{?? ?? ????public?static?void?main(String?args[])?{?? ?? ????????FileInputStream?psStream?=?null;?? ????????try?{?? ????????????psStream?=?new?FileInputStream("D:\\work\\發票掃描件\\維修費20121025(發票聯).jpg");?? ????????}?catch?(FileNotFoundException?ffne)?{?? ????????????ffne.printStackTrace();?? ????????}?? ????????if?(psStream?==?null)?{?? ????????????return;?? ????????}?? ?????????? ????????DocFlavor?psInFormat?=?DocFlavor.INPUT_STREAM.GIF;?? ?????????? ?? ?? ????????Doc?myDoc?=?new?SimpleDoc(psStream,?psInFormat,?null);?? ?????????? ?????????? ????????PrintRequestAttributeSet?aset?=?new?HashPrintRequestAttributeSet();?? ????????aset.add(new?Copies(3));?? ?????????? ?????????? ????????PrintService[]?services?=?PrintServiceLookup.lookupPrintServices(psInFormat,?aset);?? ?? ?????????? ?????????? ????????PrintService?myPrinter?=?null;?? ????????for?(int?i?=?0;?i?<?services.length;?i++)?{?? ????????????System.out.println("service?found:?"?+?services[i]);?? ????????????String?svcName?=?services[i].toString();?? ????????????if?(svcName.contains("Snagit?11"))?{?? ????????????????myPrinter?=?services[i];?? ????????????????System.out.println("my?printer?found:?"?+?svcName);?? ????????????????System.out.println("my?printer?found:?"?+?myPrinter);?? ????????????????break;?? ????????????}?? ????????}?? ?? ?????????? ????????AttributeSet?att?=?myPrinter.getAttributes();?? ?? ????????for?(Attribute?a?:?att.toArray())?{?? ?? ????????????String?attributeName;?? ????????????String?attributeValue;?? ?? ????????????attributeName?=?a.getName();?? ????????????attributeValue?=?att.get(a.getClass()).toString();?? ?? ????????????System.out.println(attributeName?+?"?:?"?+?attributeValue);?? ????????}?? ?? ????????if?(myPrinter?!=?null)?{?? ????????????DocPrintJob?job?=?myPrinter.createPrintJob();?? ????????????try?{?? ????????????????job.print(myDoc,?aset);?? ?? ????????????}?catch?(Exception?pe)?{?? ????????????????pe.printStackTrace();?? ????????????}?? ????????}?else?{?? ????????????System.out.println("no?printer?services?found");?? ????????}?? ????}?? } ?
總結
以上是生活随笔為你收集整理的java 指定打印机 进行打印的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。