zoukankan      html  css  js  c++  java
  • 调用打印机Demo

      接口 PrintService 是 DocPrintJob 的工厂。PrintService 描述了打印机的功能,并可查询它来了解打印机支持的属性。 

    Java代码 复制代码 收藏代码
    1. import java.io.File;  
    2. import java.io.FileInputStream;  
    3.   
    4. import javax.print.Doc;  
    5. import javax.print.DocFlavor;  
    6. import javax.print.DocPrintJob;  
    7. import javax.print.PrintService;  
    8. import javax.print.PrintServiceLookup;  
    9. import javax.print.ServiceUI;  
    10. import javax.print.SimpleDoc;  
    11. import javax.print.attribute.DocAttributeSet;  
    12. import javax.print.attribute.HashDocAttributeSet;  
    13. import javax.print.attribute.HashPrintRequestAttributeSet;  
    14. import javax.swing.JFileChooser;  
    15.   
    16.     /** 
    17.      * 建立与打印机的连接 
    18.      * @author Administrator 
    19.      * 
    20.      */  
    21. public class PrintDemo {  
    22.       
    23.     public static void main(String[] args) {  
    24.         JFileChooser fileChooser = new JFileChooser(); //创建打印作业  
    25.         int state = fileChooser.showOpenDialog(null);  
    26.         if(state == fileChooser.APPROVE_OPTION){  
    27.             File file = new File("D:/zkyzl.txt"); //获取选择的文件  
    28.             //构建打印请求属性集  
    29.             HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();  
    30.             //设置打印格式,因为未确定类型,所以选择autosense  
    31.             DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;  
    32.             //查找所有的可用的打印服务  
    33.             PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);  
    34.             //定位默认的打印服务  
    35.             PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();  
    36.             //显示打印对话框  
    37.             PrintService service = ServiceUI.printDialog(null, 200, 200, printService,   
    38.                     defaultService, flavor, pras);  
    39.             if(service != null){  
    40.                 try {  
    41.                     DocPrintJob job = service.createPrintJob(); //创建打印作业  
    42.                     FileInputStream fis = new FileInputStream(file); //构造待打印的文件流  
    43.                     DocAttributeSet das = new HashDocAttributeSet();  
    44.                     Doc doc = new SimpleDoc(fis, flavor, das);  
    45.                     job.print(doc, pras);  
    46.                 } catch (Exception e) {  
    47.                     e.printStackTrace();  
    48.                 }  
    49.             }  
    50.         }  
    51.     }  
    52. }  
  • 相关阅读:
    通过实例来分析I2C基本通信协议
    POJ 1470 Closest Common Ancestors【近期公共祖先LCA】
    并发 错误 java.lang.IllegalMonitorStateException: current thread not owner 分析
    【Nginx】HTTP请求的11个处理阶段
    JavaScript获取当前值
    air游戏接入小米支付sdk
    [学习笔记]Pollard-Rho
    2018-2-13-win10-UWP-Markdown-含源代码
    2018-2-13-win10-UWP-Markdown-含源代码
    2018-2-13-win10-uwp-图标制作器
  • 原文地址:https://www.cnblogs.com/xiaopeipei/p/3844909.html
Copyright © 2011-2022 走看看