Jasper报表打印至XP-80C收据打印机时左侧边距异常导致内容裁切的解决咨询
Jasper报表打印至XP-80C收据打印机时左侧边距异常导致内容裁切的解决咨询
我用Jasper报表设计了一款宽度76mm、高度动态适配内容的收据,设置了左右边距各1.7mm,上下边距各9mm。同时在XP-80C收据打印机的设置里,也选择了80(76)mm的纸张规格,但实际打印时,左侧莫名多出了很大的边距,导致收据右侧的内容被裁切,还偏移到了左侧区域(效果如图)。
以下是我用到的Java代码:
JasperCompileManager.compileReportToFile("KLMSale.jrxml", "KLMSale.jasper"); JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile("KLMSale.jasper"); Map<String, Object> parameters = new HashMap<>(); parameters.put("saleId", Integer.parseInt(jTextField1.getText())); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con); // Print settings for 76mm paper PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet(); printRequestAttributeSet.add(new MediaPrintableArea(0, 0, 76, 350, MediaPrintableArea.MM)); // 76mm width printRequestAttributeSet.add(new Copies(1)); // Export and Print JRPrintServiceExporter exporter = new JRPrintServiceExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, receiptPrinter); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet); exporter.exportReport();
打印后的收据效果:
请问我该怎么修正这个左侧边距的问题呢?
备注:内容来源于stack exchange,提问作者Vishakha Pol
相关产品推荐
相关产品推荐

