首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中为jasper报表设置边距?

如何在java中为jasper报表设置边距?
EN

Stack Overflow用户
提问于 2016-03-24 12:04:30
回答 1查看 2.5K关注 0票数 3

如何在java中为jasper报告设置页边距!

我有带边距的reports.jasper,但是当打印时我必须改变页边距!

JasperPrint.setTopMargins(myMarginsValue)不工作!

我用JRPrintServiceExporter发送到打印机!

当前代码:

代码语言:javascript
运行
复制
InputStream reportStream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/rep‌​orts/" + "myReport"+".jasper"); 
JasperReport template = (JasperReport) JRLoader.loadObject(reportStream);
template.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-24 12:19:33

使用jrxml (注意,不是.jasper)将JRXmlLoader加载到JasperDesign

代码语言:javascript
运行
复制
JasperDesign design = JRXmlLoader.load(stream); //Location of jrxml file example FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/rep‌​orts/" + "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

然后,填充 it并按您的意愿导出。

自然的,textField可能在设计的外面,如果你把你的页边距增加到很多的话,带可能不适合页面的高度,这需要适当的注意。

这是另一个与完整代码类似的问题,如果目的是移动布局以适应预先打印的形式:如何移动整个版面以适应不同打印机上的预印形式?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36199758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档