ireport 显示数据库图片
例如:数据库图片字段PICTURE_ATTACH类型为blob,在邦定字段时,
设置ireport中字段(Fields)PICTURE_ATTACH属性:
该字段类型 Field Class设置为 java.io.InputStream
然后添加一个图片来显示该图片字段,选择图片,设置属性:
属性image expression设置为 $F{PICTURE_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:/WINDOWS/Fonts中获得
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);