HashPrintRequestAttributeSet pars = new HashPrintRequestAttributeSet(); 切换成 PJL设置打印机属性
时间: 2023-12-10 21:06:12 浏览: 66
如果要使用PJL来设置打印机属性,可以使用`javax.print.attribute.standard.PresentationDirection`属性来设置。以下是一个示例代码:
```java
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = service.createPrintJob();
String command = "@PJL SET COPIES=3\n";
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
byte[] bytes = command.getBytes();
Doc doc = new SimpleDoc(bytes, flavor, null);
PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
attrs.add(PresentationDirection.TOBOTTOM);
job.print(doc, attrs);
```
在这个例子中,我们使用`PresentationDirection.TOBOTTOM`属性来设置打印方向,同时使用PJL命令`@PJL SET COPIES=3`来设置打印份数为3。你可以根据需要修改PJL命令来设置其他属性。
相关问题
HashPrintRequestAttributeSet pars = new HashPrintRequestAttributeSet(); 切换成 PJL设置打印机属性并使用PJL设置颜色
你可以使用 `javax.print.attribute.standard.PresentationDirection` 属性来设置打印方向,同时使用 PJL 命令来设置打印机属性和颜色。以下是一个示例代码:
```java
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = service.createPrintJob();
String command = "@PJL SET COPIES=3\n@PJL SET CHROMINANCE=COLOR\n";
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
byte[] bytes = command.getBytes();
Doc doc = new SimpleDoc(bytes, flavor, null);
PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
attrs.add(PresentationDirection.TOBOTTOM);
job.print(doc, attrs);
```
在这个例子中,我们使用 PJL 命令 `@PJL SET COPIES=3` 来设置打印份数为 3,使用命令 `@PJL SET CHROMINANCE=COLOR` 来设置彩色打印。同时,我们还使用 `PresentationDirection.TOBOTTOM` 属性来设置打印方向为从上到下。你可以根据需要修改 PJL 命令来设置其他属性。
PrintService service = PrintServiceLookup.lookupDefaultPrintService(); DocPrintJob job = service.createPrintJob(); String command = "@PJL SET COPIES=3\n"; DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; byte[] bytes = command.getBytes(); Doc doc = new SimpleDoc(bytes, flavor, null); PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet(); attrs.add(PresentationDirection.TOBOTTOM); job.print(doc, attrs); 再添加设置彩色
你可以在 `PrintRequestAttributeSet` 中添加 `Chromaticity.COLOR` 属性来设置彩色打印。修改后的代码如下所示:
```java
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = service.createPrintJob();
String command = "@PJL SET COPIES=3\n";
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
byte[] bytes = command.getBytes();
Doc doc = new SimpleDoc(bytes, flavor, null);
PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();
attrs.add(PresentationDirection.TOBOTTOM);
attrs.add(Chromaticity.COLOR); // 添加设置彩色属性
job.print(doc, attrs);
```
这样就同时实现了使用 PJL 设置打印机属性和设置彩色打印的需求。
阅读全文