JAVA实现连接本地打印机并打印文件的实现代码
实现代码一
importjavax.print.*; importjavax.print.attribute.DocAttributeSet; importjavax.print.attribute.HashDocAttributeSet; importjavax.print.attribute.HashPrintRequestAttributeSet; importjavax.print.attribute.PrintRequestAttributeSet; importjava.io.File; importjava.io.FileInputStream; publicclassPrintDemo1{ publicvoidprintPdf(StringfileName){ //构造一个文件选择器,默认为当前目录 Filefile=newFile(fileName);//获取选择的文件 //构建打印请求属性集 PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet(); //设置打印格式,因为未确定文件类型,这里选择AUTOSENSE DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE; //查找所有的可用打印服务 PrintServiceprintService[]=PrintServiceLookup.lookupPrintServices(flavor,pras); //定位默认的打印服务 //PrintServicedefaultService=PrintServiceLookup.lookupDefaultPrintService(); //显示打印对话框 PrintServiceservice=ServiceUI.printDialog(null,200,200,printService,defaultService,flavor,pras); if(service!=null){ try{ DocPrintJobjob=service.createPrintJob();//创建打印作业 FileInputStreamfis;//构造待打印的文件流 fis=newFileInputStream(file); DocAttributeSetdas=newHashDocAttributeSet(); Docdoc=newSimpleDoc(fis,flavor,das); job.print(doc,pras); }catch(Exceptione){ e.printStackTrace(); } } } publicstaticvoidmain(Stringargs[]){ PrintDemo1pic=newPrintDemo1(); pic.printPdf("F:\\java资源2\\Docker视频教程\\赠送3-从Docker到Kubernetes之技术实战\\01.为什么你需要学习Docker\\01.pdf"); } }
代码二
packagecom.iba.cxx.adm.controller; importjavax.print.*; importjavax.print.attribute.DocAttributeSet; importjavax.print.attribute.HashDocAttributeSet; importjavax.print.attribute.HashPrintRequestAttributeSet; importjavax.swing.*; importjava.io.File; importjava.io.FileInputStream; /** *CreatedbyAdministratoron2017/9/80008. */ publicclassTestController{ publicstaticvoidmain(String[]args){ JFileChooserfileChooser=newJFileChooser();//创建打印作业 intstate=fileChooser.showOpenDialog(null); if(state==fileChooser.APPROVE_OPTION){ //Filefile=newFile("D:/haha.txt");//获取选择的文件 Filefile=fileChooser.getSelectedFile();//获取选择的文件 //构建打印请求属性集 HashPrintRequestAttributeSetpras=newHashPrintRequestAttributeSet(); //设置打印格式,因为未确定类型,所以选择autosense DocFlavorflavor=DocFlavor.INPUT_STREAM.AUTOSENSE; //查找所有的可用的打印服务 PrintServiceprintService[]=PrintServiceLookup.lookupPrintServices(flavor,pras); //定位默认的打印服务 PrintServicedefaultService=PrintServiceLookup.lookupDefaultPrintService(); //显示打印对话框 PrintServiceservice=ServiceUI.printDialog(null,200,200,printService, defaultService,flavor,pras); if(service!=null){ try{ DocPrintJobjob=service.createPrintJob();//创建打印作业 FileInputStreamfis=newFileInputStream(file);//构造待打印的文件流 DocAttributeSetdas=newHashDocAttributeSet(); Docdoc=newSimpleDoc(fis,flavor,das); job.print(doc,pras); }catch(Exceptione){ e.printStackTrace(); } } } } }
好了这篇文章就介绍这么多,需要的朋友可以参考一下。