最近在做的项目中,需要输出很多报表类文档,于是选择用jasper来帮助完成。

使用jasper studio的版本是 :TIB_js-studiocomm_6.12.2_windows_x86_64。有显示图片需求的,可以参考本博客。

1.我采用的是json数据源。就是把所有需要往报表中传递的数据,全部封装到一个大的json文件中。稍后会另写一篇关于如何使用json数据源的博客。

2.现在说显示图片的事。json文件中要显示一个图片该怎么做呢。把图片通过转换工具,转换为base64字符串,或svg串。

我例子中,pic1为svg串,pic2为base64字符串。稍后会把这个json文件贴上去。此处注意,base64字符串不带图片格式这段(”data:image/png;base64,“),有的话记得去掉

3.新建一个jsper report,这些就不细说了。我把其他band都删除了,就留下一个detail 得band

4.从右侧得Palette的Basic Elements中拖一个image元素

5.就先选默认的这个,稍后会修改图片显示的表达式。

6.得到了如图的这个效果

7.现在修改表达式,点击图片,会在右下找到修改图片属性的地方,如图

8.如果想显示base64字符串的图片的话,点击Expression行,最右侧那个按钮,step 7 中第二个红框处 了。

9.框中很长的表达式,是重点,其中$F{pic2}是下方Fields中的第二个了。这个怎么来,之后会讲解。起始就是读取json数据源获取到的。

重点部分我贴出来,方便复制:new ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($F{pic2}.getBytes()))

10.点击Main report 下方,第三个按钮Preview来看效果。出不来的联系我 445196491@qq.com

11.如果想显示svg字符串的图片的话,点击Expression行,最右侧那个按钮,step 7 中第二个红框处 了。

重点内容我贴出来,方便大家复制    net.sf.jasperreports.renderers.BatikRenderer.getInstanceFromText($F{pic1})

12.同样点击预览看效果。有困难的,出不来的联系我。445196491@qq.com

TIBCO Jasper Report 中显示图片的方式的更多相关文章

  1. 我的Android进阶之旅------> Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...

  2. 我的Android进阶之旅------> Android在TextView中显示图片方法

    面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包含图像的文本信息),并简要说明实现方法. 答案:Android SDK支持如下显示富文本信息的方式. 1.使用Tex ...

  3. 在HTML中显示图片时希望如果图片不存在或者无法显示时,能够显示默认图片

    很多时候,在HTML中显示图片时希望如果图片不存在或者无法显示时,能够显示默认图片.可以通过以下方式: <img src="xxx.jpg" onError="th ...

  4. iOS开发小技巧--即时通讯项目:使用富文本在UILabel中显示图片和文字;使用富文本占位显示图片

    Label借助富文本显示图片 1.即时通讯项目中语音消息UI的实现,样式如图: 借助富文本在UILabel中显示图片和文字 // 1.创建一个可变的富文本 NSMutableAttributedStr ...

  5. 在博客中显示图片_Mac版

    主要是防止自己忘掉 为了解决一开始自己想在写入的博客中添加本地图片,直接链接的话在自己的电脑倒是可以显示图片,但是在别人的电脑上就没办法加载图片了,问各路大神也没人愿意解答,百度也没有想要的答案,只好 ...

  6. DevExpress GridControl 列中显示图片

    一.GridControl 的Columns中添加列 1.列名:FieldName命名为img 2.类型:ColumnEdit属性中 选择PictureEdit类型(RepositoryItemPic ...

  7. 在DevExpress GridControl的一列中显示图片

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 近期做项目的时候用到了将GridControl中一列设置为PictureEdit类型,然后通过这一 ...

  8. GridControl 列中显示图片 z

    如何在 DevExpress.XtraGrid.GridControl 显示图片列. 方法很多,我把它们逐一写在附言中,方便大家分情况合理使用. 附言1  附言2  附言3  第 1 条附言  ·  ...

  9. Java中显示图片的方法

    最近在做一个swing小项目,其中需要把存储在硬盘中的图片文件显示出来,总结了如下方法: 1. Graphics g = getGraphics();String name = "E:/Ca ...

随机推荐

  1. ojdbc6中OraclePreparedStatement的ArrayIndexOutOfBoundsException异常BUG-6396242

    现场信息 Caused by: java.lang.ArrayIndexOutOfBoundsException: -32203 at oracle.jdbc.driver.OraclePrepare ...

  2. cb43a_c++_STL_算法_删除_(1)remove_remove_if

    cb43a_c++_STL_算法_删除_(1)remove_remove_ifremove()remove_if() 注意:1.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没 ...

  3. 深入理解 EF Core:EF Core 写入数据时发生了什么?

    阅读本文大概需要 14 分钟. 原文:https://bit.ly/2C67m1C 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能 ...

  4. Python学习日志-01

    一.使用入门 (1)问答环节 人们为何使用Python: 软件质量高:Python更注重可读性.一致性和软件质量,这将其与脚本语言世界中的其他工具区别开来.因为代码的设计致力于可读性,因此比起传统脚本 ...

  5. python0.1

    python基础 python是一种高级编程语言,而编程语言分为3种 编程语言 编程语言是一种人与计算机沟通的工具. 编程就是就将人的需求通过攥写编程语言命令计算机完成指令. 编程的意义在于将人类的生 ...

  6. caffe训练数据流程

    cifar10训练实例 1. 下载数据 # sudo sh data/cifar10/get_cifar10.sh 2. 转换数据格式为lmdb # sudo sh examples/cifar10/ ...

  7. jQuery处理默认配置参数(将一个或多个对象的内容合并到目标对象)

    问题 我们在封装一个函数时, 需要别人传递一个json对象作为参数, 而用户可能只传入部分参数, 这是就可以利用$extend()来与合并到默认JSON参数合并. // 程序需要的参数 var def ...

  8. [SCOI2016]背单词 题解

    背单词 https://www.luogu.com.cn/problem/P3294 前言: Trie树的省选题(瑟瑟发抖QAQ) 问题汇总:(请忽略) (1)对Trie字典树的运用不熟练 (2)没想 ...

  9. asp.net core 发布包含文件

    这样这个文件在发布的时候,就会包含进去了.

  10. Oracle 11gR2 待定的统计信息(Pending Statistic)

    Oracle 11gR2 待定的统计信息(Pending Statistic) 官档最权威: 发布优化器统计信息的用户界面 管理已发布和待处理的统计信息 实验先拖着.