如何在Java中设置打印机边距

Bao*_*oNC 5 java printing

当尝试使用Print API进行打印时-似乎无法控制边距!..请帮助我设置打印机边距,或者有什么方法可以在操作系统级别设置边距。

默认情况下,左,右,顶部和底部四个全部设置为1。

Dav*_*ill 6

我正在使用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();
Run Code Online (Sandbox Code Playgroud)

关键是要随print() 命令一起提供属性。

来源帮助与打印边距