如何在java中设置jasper报表的边距!
我有 reports.jasper 带边距,但是打印时我必须更改边距!
JasperPrint.setTopMargins(myMarginsValue)
不起作用!
I use JRPrintServiceExporter
发送到打印机!
当前代码:
InputStream reportStream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/reports/" + "myReport"+".jasper");
JasperReport template = (JasperReport) JRLoader.loadObject(reportStream);
template.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);
加载jrxml(注意不是 .jasper)进入贾斯珀设计使用JRXmlLoader
JasperDesign design = JRXmlLoader.load(stream); //Location of jrxml file example FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/reports/" + "myReport"+".jrxml");
design.setBottomMargin(bottomMargin); //set the margins
design.setTopMargin(topMargin)
design.setLeftMargin(leftMargin)
design.setRightMargin(rightMargin);
design.setColumnWidth(design.getPageWidth()-leftMargin-rightMargin);//if you change your left and right margin you need to set new correct columnWidth
//compile the report
JasperReport report = JasperCompileManager.compileReport(design); //this is what you called template
Then fill it and export如你所愿。
当然,textField 可能超出设计范围,如果您将边距增加太多,则 Band 可能不适合页面高度,这需要适当注意。
如果目的是移动布局以适应预打印的形式,这是另一个带有完整代码的类似问题:如何移动整个布局以适应不同打印机上的预打印表单
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)