ireport 显示数据库图片

    技术2022-05-19  21

    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);


    最新回复(0)