如何获取默认打印机属性设置

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 好的 :) 我重新提出我的问题,我如何知道打印机的配置设置

以上是关于如何获取默认打印机属性设置的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 获取扫描包路径

php如何打印对象的所有属性

如何在 .NET 中获取打印机信息?

如何获取radiobutton默认选中的值

怎么取消默认双面打印

如何获取数据表中自增主键的值