日期:2014-05-20  浏览次数:20776 次

java如何实现打印机打印
java如何实现打印机打印?

------解决方案--------------------
别的地方拷过来的

package com.szallcom.tools; 

import java.io.File; 
import java.io.FileInputStream; 
import javax.print.Doc; 
import javax.print.DocFlavor; 
import javax.print.DocPrintJob; 
import javax.print.PrintService; 
import javax.print.PrintServiceLookup; 
import javax.print.SimpleDoc; 
import javax.print.attribute.DocAttributeSet; 
import javax.print.attribute.HashDocAttributeSet; 
import javax.print.attribute.HashPrintRequestAttributeSet; 
import javax.print.attribute.PrintRequestAttributeSet; 
public class Printtupian

public void printjpg(String getfile,String fensu) 

//构造一个文件选择器,默认为当前目录 

File file = new File(getfile);//获取选择的文件 
//构建打印请求属性集 
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); 
//设置打印格式,因为未确定文件类型,这里选择AUTOSENSE 
DocFlavor flavor = DocFlavor.INPUT_STREAM.GIF; 
//查找所有的可用打印服务 
//PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras); 
//定位默认的打印服务 
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); 
//显示打印对话框 
long j=Integer.parseInt(fensu); 
for(int i=0;i <j;i++) 
{
try { 
DocPrintJob job = defaultService.createPrintJob(); //创建打印作业 
FileInputStream fis = new FileInputStream(file); //构造待打印的文件流 
DocAttributeSet das = new HashDocAttributeSet(); 
Doc doc = new SimpleDoc(fis, flavor, das); //建立打印文件格式 
job.print(doc, pras); //进行文件的打印 

catch(Exception e) { 
e.printStackTrace();