ireport 显示数据库图片.docx
ireport 显示数据库图片ireport 显示数据库图片 例如:数据库图片字段PICTURE_ATTACH类型为blob,在邦定字段时, 设置ireport中字段PICTURE_ATTACH属性: 该字段类型 Field Class设置为 java.io.InputStream 然后添加一个图片来显示该图片字段,选择图片,设置属性: 属性image expression设置为 $FPICTURE_ATTACH 属性Expression class 设置为java.io.InputStream Jasperreport 导出pdf 粗体,宋体,黑体字体设置 1.为了显示中文,需要在ireport中设置文本属性: font中选中宋体, pdf font 选中strong-light, pdf-encode选中 UniGB-UCS2-H (Chinese Simplified) Pdf Embedded true 2.在导出pdf时,需要宋体或黑体中文加粗或斜体时需要设置如下 Map fontMap = new HashMap; / 宋体,加粗,非斜体的参数设置,宋体不需要引入字体文件,如果需要斜体的话,把false值变为true即可 fontMap.put(new FontKey("宋体", true, false), new PdfFont("STSong-Light", "UniGB-UCS2-H", true, true, false); /黑体的话,在ireport的Font中选中黑体,加粗,还要引入字体文件simhei.ttf,该文件可从C:WINDOWSFonts中获得 FontKey key = new FontKey("黑体", true, false); /黑体,true表示加粗,false表示非斜体,如果需要变为斜体,只需变为true即可 PdfFont font = new PdfFont("c:simhei.ttf" "Identity-H", true, true, false); /该false值表示非斜体,如果需要变为斜体,只需变为true即可 fontMap.put(key, font); exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap); jasperrepor导出大数据量数据时,减小占用大量内存实现方法如下: /report virtualizer"可以用来序列化临时数据到硬盘上来优化内存的使用. /第一个参数2表示放入内存中的页数,如果超过2页,第3页以后的数据,都会放到硬盘的文件夹/reports/tmp下, /第二个参数表示临时文件存放的目录 JRFileVirtualizer virtualizer = new JRFileVirtualizer(2, sc.getRealPath("/reports/tmp"); /设置该参数 parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer); jasperPrint = JasperFillManager.fillReport(jasperReport,parameters, dataSource); ireport 换行跨页 当字段显示的数据太多,自动换行的话,需要设置属性Stretch with overflow 为钩选,如果需要同行的其他显示字段和该换行字段一样高的话,设置其它同行显示字段的属性Stretch Type为 Relative to band height;如果该换行的显示字段内容出现换行跨页的情况,需要给其它的同行显示字段的属性Print when detail overflows设置为钩选状态,这样才能保证高度同行显示内容高度一样。