首页 > 软件开发 > JAVA >

java如何设置系统默认打印机

来源:互联网 2023-03-16 19:08:52 303

可以使用 Java Print Service API 接口来实现打印操作。先获取可用的打印机列表,再通过 PrintServiceLookup.lookupDefaultPrintService(); 方法来获取系统默认的打印设备进行打印。Dqf办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • 打印驱动
  • Java Print Service API

方法/步骤

  • 1

    1、需要导入的 Java Print Service API 相关类Dqf办公区 - 实用经验教程分享!

    import javax.print.DocFlavor;Dqf办公区 - 实用经验教程分享!

    import javax.print.attribute.HashPrintRequestAttributeSet;Dqf办公区 - 实用经验教程分享!

    import javax.print.attribute.PrintRequestAttributeSet;Dqf办公区 - 实用经验教程分享!

    import javax.print.PrintService;import javax.print.PrintServiceLookup;Dqf办公区 - 实用经验教程分享!

    Dqf办公区 - 实用经验教程分享!

    //PrintRequestAttributeSet实例。Dqf办公区 - 实用经验教程分享!

    //这用来弹出显示的对话框,并在对话框消失之前返回用户所作的任何更改。Dqf办公区 - 实用经验教程分享!

    PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();Dqf办公区 - 实用经验教程分享!

    DocFlavorflavor=DocFlavor.INPUT_STREAM.POSTSCRIPT;Dqf办公区 - 实用经验教程分享!

    java如何设置系统默认打印机Dqf办公区 - 实用经验教程分享!

  • 2

    2、获取打印机列表Dqf办公区 - 实用经验教程分享!

    //可用的打印机列表(字符串数组)Dqf办公区 - 实用经验教程分享!

    PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);Dqf办公区 - 实用经验教程分享!

    for(int i=0;iprintService.length;i ){ Dqf办公区 - 实用经验教程分享!

    Printers[i]=printService[i].getName();Dqf办公区 - 实用经验教程分享!

    }Dqf办公区 - 实用经验教程分享!

    java如何设置系统默认打印机Dqf办公区 - 实用经验教程分享!

  • 2本页面非法爬取自百度经验
  • 3

    3、获取当前默认打印机Dqf办公区 - 实用经验教程分享!

    //当前默认打印机Dqf办公区 - 实用经验教程分享!

    PrintService PS = PrintServiceLookup.lookupDefaultPrintService();//PS.getName();Dqf办公区 - 实用经验教程分享!

    java如何设置系统默认打印机Dqf办公区 - 实用经验教程分享!

  • 4

    4、完整代码Dqf办公区 - 实用经验教程分享!

    importjavax.print.*;Dqf办公区 - 实用经验教程分享!

    importjavax.print.attribute.*;Dqf办公区 - 实用经验教程分享!

    importjava.io.*;Dqf办公区 - 实用经验教程分享!

    Dqf办公区 - 实用经验教程分享!

    publicclassPrinting{Dqf办公区 - 实用经验教程分享!

    publicstaticvoidmain(Stringargs[])throwsException{Dqf办公区 - 实用经验教程分享!

    Stringfilename="E:/JAVA/java实现打印/test.ps";Dqf办公区 - 实用经验教程分享!

    //PrintRequestAttributeSet实例。Dqf办公区 - 实用经验教程分享!

    //这用来弹出显示的对话框,并在对话框消失之前返回用户所作的任何更改。Dqf办公区 - 实用经验教程分享!

    PrintRequestAttributeSetpras=newHashPrintRequestAttributeSet();Dqf办公区 - 实用经验教程分享!

    DocFlavorflavor=DocFlavor.INPUT_STREAM.POSTSCRIPT;Dqf办公区 - 实用经验教程分享!

    PrintServiceprintService[]=PrintServiceLookup.lookupPrintServices(flavor,pras);//用户可选用的PrintService实例数组。Dqf办公区 - 实用经验教程分享!

    PrintServicedefaultService=PrintServiceLookup.lookupDefaultPrintService();//默认的PrintServiceDqf办公区 - 实用经验教程分享!

    /*为用户提供一个选择PrintService(打印机)的对话框。Dqf办公区 - 实用经验教程分享!

    gc-用于选择屏幕。null意味着主屏幕或默认屏幕。Dqf办公区 - 实用经验教程分享!

    x-对话框在屏幕坐标中的位置,包括边框Dqf办公区 - 实用经验教程分享!

    y-对话框在屏幕坐标中的位置,包括边框Dqf办公区 - 实用经验教程分享!

    services-可浏览的服务,必须不为null。Dqf办公区 - 实用经验教程分享!

    defaultService-要显示的初始PrintService。Dqf办公区 - 实用经验教程分享!

    flavor-要打印的flavor,或者为null。Dqf办公区 - 实用经验教程分享!

    attributes-输入时为应用程序最初提供的首选项。这不能为null,但可以为空。输出时为反映用户所作的更改的属性。Dqf办公区 - 实用经验教程分享!

    */Dqf办公区 - 实用经验教程分享!

    PrintServiceservice=ServiceUI.printDialog(null,200,200,printService,defaultService,flavor,pras);Dqf办公区 - 实用经验教程分享!

    if(service!=null){Dqf办公区 - 实用经验教程分享!

    DocPrintJobjob=service.createPrintJob();//创建打印任务Dqf办公区 - 实用经验教程分享!

    FileInputStreamfis=newFileInputStream(filename);Dqf办公区 - 实用经验教程分享!

    DocAttributeSetdas=newHashDocAttributeSet();Dqf办公区 - 实用经验教程分享!

    /*Dqf办公区 - 实用经验教程分享!

    *定义要打印的文档,SimpleDoc(,,)里有三个参数:Dqf办公区 - 实用经验教程分享!

    *  ·Object代表要打印的内容Dqf办公区 - 实用经验教程分享!

      *·DocFlavor的一个实例描述数据类型Dqf办公区 - 实用经验教程分享!

      *·可选的DocAttributeSet包含打印时的属性Dqf办公区 - 实用经验教程分享!

    */Dqf办公区 - 实用经验教程分享!

    Docdoc=newSimpleDoc(fis,flavor,das);Dqf办公区 - 实用经验教程分享!

    /*启动打印job.print(,)Dqf办公区 - 实用经验教程分享!

    *doc-要打印的文档。如果必须是一个flavor,则此PrintJob必须支持它。Dqf办公区 - 实用经验教程分享!

    *attributes-应用到此PrintJob的作业属性。如果此参数为null,则使用默认属性。Dqf办公区 - 实用经验教程分享!

    **/Dqf办公区 - 实用经验教程分享!

    job.print(doc,pras);Dqf办公区 - 实用经验教程分享!

    Thread.sleep(10000);Dqf办公区 - 实用经验教程分享!

    }Dqf办公区 - 实用经验教程分享!

    System.exit(0);Dqf办公区 - 实用经验教程分享!

    }Dqf办公区 - 实用经验教程分享!

    java如何设置系统默认打印机Dqf办公区 - 实用经验教程分享!

  • 注意事项

    • 读者朋友欲了解更多可自行搜索关于“Java Print Service API”的资料。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Dqf办公区 - 实用经验教程分享!


    标签: JAVA打印机操作系统

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码