【问题标题】:Is PrinterUri attribute ignored by Java PrintService?Java PrintService 是否忽略 PrinterUri 属性?
【发布时间】:2011-03-31 16:07:43
【问题描述】:

我正在使用以下代码将打印作业发送到特定打印机:

PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet();
     try {
            aset.add(new PrinterURI(new URI("ipp://hostName/printerName")));
        } catch (URISyntaxException e) {
            System.out.println("URI exception caught: "+e);
        }
        PrintService[] services =
            PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.POSTSCRIPT,aset);  

Strangley,我得到 9 个查找结果(=该特定主机上的所有可用打印机) - 而只有第一个结果是我正在寻找的结果。 我在 PrintService JavaDocs 和网络上进行了搜索 - 但没有找到任何相关内容。

PrintServiceLookup 不应该只返回与我的请求匹配的打印机吗? (在这种情况下 - 一台打印机)

提前致谢!

【问题讨论】:

  • 自然我有一个解决这个问题的方法:我在结果中搜索所需的打印机。但是,我仍然不明白我为什么会得到超过 1 个答案。我用DocFlavor.INPUT_STREAM.POSTSCRIPT 测试了相同的代码,但没有 PrinterUri 属性并得到了相同的9 个结果 - 似乎PrintServiceAttributeSet 被忽略了......

标签: java attributes postscript printers ipp-protocol


【解决方案1】:

原来我使用的 URI 是错误的(但语法有效,所以没有抛出异常)。
所以回答我最初的问题 - Java PrintService 忽略了一个错误的属性(与我的预期相反,PrintService 在属性错误的情况下不会返回任何结果)。

还是谢谢

【讨论】:

  • 正确的 ipp: 格式如何,我无法访问像 \\PSCPARKP01\CP_P1_OKI20_2 这样的打印机
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多