package com.farriver.bwf.service.system; import com.farriver.bwf.common.statics.LangConstants; import com.farriver.bwf.service.ServiceBase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.print.*; import javax.print.attribute.DocAttributeSet; import javax.print.attribute.HashDocAttributeSet; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import java.io.FileInputStream; @Service public class SystemPrintService extends ServiceBase { private static final Logger logger = LoggerFactory.getLogger(SystemPrintService.class); public void Print(String filepath) { try { DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE; PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); PrintService[] pservices = PrintServiceLookup.lookupPrintServices(flavor, aset); PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); PrintService service = ServiceUI.printDialog(null, 200, 200, pservices, defaultService, flavor, aset); if (service != null) { DocPrintJob pj = service.createPrintJob(); FileInputStream fis = new FileInputStream(filepath);//("D:" + File.separator + "gocar.sql");// 打印D盘HELLO.txt文档。 DocAttributeSet das = new HashDocAttributeSet(); Doc doc = new SimpleDoc(fis, flavor, das); pj.print(doc, aset); } else { logger.error(LangConstants.MSG_ERROR_PRINT); } } catch (Exception e) { logger.error(e.getMessage(), e); } } }