【问题标题】:How getting default Printer attribute setting如何获取默认打印机属性设置
【发布时间】:2014-07-23 08:17:16
【问题描述】:

我想知道如何使用 PrintServiceAttributeSet 获取默认打印机属性设置。 例如,在从打印机打印之前,我需要知道当前的打印机属性设置,如色度。基于该返回值,我需要将打印机设置为新的属性设置。 谁能帮我吗。 是否可以获取一些示例代码来获取和设置此属性。

【问题讨论】:

    标签: java printing printers


    【解决方案1】:

    参考How do I get print service attribute set?

    这个例子演示了如何获取打印服务的属性集 使用javax.print API。首先我们找到默认打印机 当前机器使用PrintServiceLookup 类。这会给我们 PrintService 对象,如果没有打印服务,此对象可能为 null 找到了。

    最后一步是通过调用获取打印服务属性集 PrintServicegetAttributes() 方法。我们可以将 使用toArray() 方法将AttributeSet 返回到一个数组中,并且 迭代它。

    package org.kodejava.example.print;
    
    import javax.print.PrintService;
    import javax.print.PrintServiceLookup;
    import javax.print.attribute.Attribute;
    import javax.print.attribute.AttributeSet;
    
    public class PrinterAttribute {
        public static void main(String[] args) {
            //
            // Locates the default print service for this environment.
            //
            PrintService printer =
                    PrintServiceLookup.lookupDefaultPrintService();
    
            if (printer != null) {
                //
                // Getting print service's attribute set.
                //
                AttributeSet attributes = printer.getAttributes();
                for (Attribute a : attributes.toArray()) {
                    String name = a.getName();
                    String value = attributes.get(a.getClass()).toString();
                    System.out.println(name + " : " + value);
                }
            }
        }
    }
    

    【讨论】:

    • 我想知道打印机的配置,即:如果我强制打印黑白,方向,选择的格式......这个方法只返回默认打印机并显示如果彩色 -支持,排队作业计数...
    • 分析器完全符合您的要求:)“如何使用 PrintServiceAttributeSet 获取默认打印机属性设置”
    • 当你需要设置属性时请看Working with Print Services and Attributes
    • @Yanni 什么是imprimene
    • 好的 :) 我重新提出我的问题,我如何知道打印机的配置设置
    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多