我正在使用62mm宽纸张尺寸的Brother QL720NW打印机实现JFX Printing API,出于某种原因,我得到了“Bad Margins”异常。我如何绕过这里是代码:
try
{
Printer printer = Printer.getDefaultPrinter();
Paper photo = PrintHelper.createPaper("LabelPrinter", 62.0, 89.8, Units.MM);
PageLayout pageLayout = printer.createPageLayout(photo, PageOrientation.LANDSCAPE, Printer.MarginType.HARDWARE_MINIMUM);
PrinterAttributes attr = printer.getPrinterAttributes();
PrinterJob job = PrinterJob.createPrinterJob();
double scaleX = pageLayout.getPrintableWidth() / node.getBoundsInParent().getWidth();
double scaleY = pageLayout.getPrintableHeight() / node.getBoundsInParent().getHeight();
Scale scale = new Scale(scaleX, scaleY);
node.getTransforms().add(scale);
JobSettings jobsettings = job.getJobSettings();
jobsettings.setPageLayout(pageLayout);
if (job != null) {
boolean success = job.printPage(node);
if (success) {
job.endJob();
}
}
node.getTransforms().remove(scale);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
用于打印的节点是一个简单的标签,我将其用于测试目的。在我打印完之后,我将实现一个更大的节点来打印所需的确切参数。
如果此代码可以,请告诉我。或需要一些重构。
提前致谢
答案 0 :(得分:0)
答案是在实际打印机的打印设置中,任何寻求答案的人都是解决方案的链接: https://forum.sambapos.com/t/how-to-change-the-printer-size-paper/10442/11