java导出pdf报告之五:poi-tl的使用-图片模版和列表模版

对于图片模版和列表模版相对就简单了,可以参考帮助文档,下边我也只做简单的介绍了

对于文档中的饼状图、柱状图,我是在导入数据的时候,直接根据数据生成了相应的图片,然后保存在文件服务器,并把路径保存到数据库中

图片模版:{ {@var}}

BufferedImage picture = ImageIO.read(new FileInputStream(picturePath)); //获取图片对象
//设置图片的大小为原图的3/4
reportDatas.put("intestinal_pattern_result", new PictureRenderData(picture.getWidth() * 3 / 4, picture.getHeight() * 3 / 4, picturePath));  

列表模版:{ {*var}}

刚开始考虑的参考文献那里使用列表模版的,但使用过程中发现poi-tl的列表模版,不能设置隐藏列表项前边的特殊符号(默认是圆点)。后来就退而求其次,将所有列表项拼成一段文字,每项之间使用\n进行分割

reportDatas.put("ReferenceList",getReferences(references));
//references 参考文献信息列表
private TextRenderData getReferences(List<ReportReference> list) {
        TextRenderData renderData = new TextRenderData();
        StringBuffer sb = new StringBuffer();
        for (ReportReference reportReference:list) {
            sb.append(reportReference.getContent()+"\n");
        }
        renderData.setText(sb.toString());
        return renderData;
    }

猜你喜欢

转载自blog.csdn.net/wzl19870309/article/details/103439304