如何在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()命令。

源帮助打印边距