java实现的打印机打印1
Posted 奋斗的少年2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现的打印机打印1相关的知识,希望对你有一定的参考价值。
//设置打印属性 构造一个新的空打印请求属性集。 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; //查找所有符合条件的打印服务 lookupPrintServices(flavor, pras);查找能够打印指定 DocFlavor 的 PrintService。 PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, pras); //将所有查找出来的打印机与自己想要的打印机进行匹配,找出自己想要的打印机 LookUpPrint p=new LookUpPrint(); PrintService myPrintService = p.GetPrintService("printName"); //PrinterJob 类是控制打印的主要类。应用程序调用此类中的方法设置作业、(可选地)调用与用户的打印对话框,然后打印作业的页面。 //getPrinterJob() 创建并返回初始化时与默认打印机关联的 PrinterJob。 打印任务 PrinterJob job = PrinterJob.getPrinterJob(); //setPrintService(PrintService service) 将此 PrinterJob 与新的 PrintService 关联。 把任务挂到服务上 job.setPrintService(myPrintService); //PDDocument 这是PDF文档的内存中表示。当不再需要文档时,必须调用#close()方法。 //load(File file) 解析一个PDF。不受限制的主存将用于缓冲PDF流。 PDDocument document = PDDocument.load(new File("printPath")); //将PDF文档解析为PDF流存入到内存中 //Paper 类描述一张纸的物理特征。 Paper paper = new Paper(); paper.setSize(252, 141); // 1/72 inch //设置此 Paper 对象的宽和高,它表示要用来打印的页面的属性。 paper.setImageableArea(0, 5, paper.getWidth(), paper.getHeight()); // setImageableArea:设置此 Paper 的可成像区域。可成像区域是页面上用来打印的区域。 左上角的 X 坐标,Y 坐标,区域宽度,高度 //PageFormat 类描述要打印的页面大小和方向。 PageFormat pageFormat = new PageFormat(); pageFormat.setPaper(paper);//为此 PageFormat 设置 Paper 对象 //Book 类提供文档的表示形式,该文档的页面可以使用不同的页面格式和页面 painter。此类使用 Pageable 接口与 PrinterJob 交互。 Book book = new Book(); //将多个页面追加到此 Book 的尾部。 book.append(new PDFPrintable(document), pageFormat, document.getNumberOfPages()); //查询 document,以获得页面数和 Pageable 实例 document 中保存的每个页面的 PageFormat 和 Printable。 job.setPageable(new PDFPageable(document, Orientation.PORTRAIT)); job.setPageable(book); //打印一组页面。 job.print();
以上是关于java实现的打印机打印1的主要内容,如果未能解决你的问题,请参考以下文章