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的主要内容,如果未能解决你的问题,请参考以下文章

JAVA之AOP

用java打印菱形。

JAVA实现打印机

如何通过JAVA代码调用网络打印机使其打印接收到的文件

java实现二维码生成及调用打印机打印

java如何调用本地打印机进行图片打印