我正在使用带有62mm宽纸张尺寸的兄弟QL720NW打印机实现JFX打印API,由于某种原因,我得到了"不良利润"例外。我该如何解决此处的代码:
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());
}
用于打印的节点是我用于测试目的的简单标签。打印出来后,我将实现更大的节点来打印所需的精确参数。
让我知道此代码是否还可以。或需要一些重构。
预先感谢
答案是在实际寻求答案的任何人的实际打印机的打印设置中是解决方案的链接:https://forum.sambapos.com/t/how-to-change-the-printer-size-paper/10442/11