JFX Print API,打印到Brother QL 720NW

时间:2017-03-08 06:51:11

标签: printing

我正在使用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());
  }

用于打印的节点是一个简单的标签,我将其用于测试目的。在我打印完之后,我将实现一个更大的节点来打印所需的确切参数。

如果此代码可以,请告诉我。或需要一些重构。

提前致谢

1 个答案:

答案 0 :(得分:0)

答案是在实际打印机的打印设置中,任何寻求答案的人都是解决方案的链接: https://forum.sambapos.com/t/how-to-change-the-printer-size-paper/10442/11