如何在java中设置打印机边距
当尝试使用Print API进行打印时 – 边距似乎不在我们的控制范围内!..请帮我设置打印机边距或有没有办法在操作系统级别设置边距。
默认情况下,左,右,上,下四个都设置为1。
我正在使用Java Printing API,但在设置打印边距时遇到问题。
…
解
我必须提供额外的打印属性来覆盖默认的打印边距MediaPrintableArea 。
由于打印机硬件限制,大多数打印机无法在介质的整个表面上打印。
MediaPrintableArea可用于查询假定的打印作业的可接受值,并请求在打印作业中使用的可打印区域的约束内的区域。
HashPrintRequestAttributeSet attr = new HashPrintRequestAttributeSet(); attr.add(new MediaPrintableArea(0f, 0f, w/72f, h/72f, MediaPrintableArea.INCH)); PrinterJob job = PrinterJob.getPrinterJob(); job.setPrintService(ps); job.setPrintable(this); job.setJobName(jobName); job.print(attr); j.setVisible(false); j.dispose();
关键是提供属性以及
print()
命令。
源帮助打印边距