1

我有以下代码:

                FileInputStream fis =
                        new FileInputStream("C:/test.pdf");
                //PrintJob.Builder test = new PrintJob.Builder(fis);
                //test.duplex(true);
                //test.build();

                Map <String,String> newMap = new HashMap<String, String>();
                newMap.put("job-attributes", "sides:keyword:two-sided-short-edge#copies:2");
                  PrintJob pj = new PrintJob.Builder(fis).jobName("testJob").copies(2).attributes(newMap).build();

                cp.print(pj);

我遇到的问题是即使我已将副本设置为 (2) 它只打印一次....

我做错了什么?

4

1 回答 1

0

副本:2 中的job-attributes不正确。你需要编码:

copies:integer:2

不知何故,不正确的工作属性条目导致...

.copies(2)

..关于要忽略的生成器。

我能够使用 2016 年的旧(!)de.spqr-info cups4j v1.1(不是当前的 v0.7.6 org.cups4j)在我的系统上重现它。

但请注意:如果 job-attributes 值正确,则将使用来自 Builder 的值(即使您没有指定它!在这种情况下默认为 1)

使用作业属性值的唯一方法是在 Builder 上显式编码 .copies(n)(其中 n <= 0)。

于 2020-03-03T21:34:10.047 回答