最近在做的项目中,需要输出很多报表类文档,于是选择用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. centos7 hadoop 单机模式安装配置

    前言 由于现在要用spark,而学习spark会和hdfs和hive打交道,之前在公司服务器配的分布式集群,离开公司之后,自己就不能用了,后来用ambari搭的三台虚拟机的集群太卡了,所以就上网查了一 ...

  2. 0.0---selenium+java自动化基础01---元素定位和操作

    一.定位方法 1.通过ID定位元素:driver. findElement(By.id(value)); 2.通过元素的名称定位元素: driver. findElement(By.name( val ...

  3. 如何用Python从海量文本抽取主题?

    摘自https://www.jianshu.com/p/fdde9fc03f94 你在工作.学习中是否曾因信息过载叫苦不迭?有一种方法能够替你读海量文章,并将不同的主题和对应的关键词抽取出来,让你谈笑 ...

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

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

  5. springboot 配置本地文件映射路径

    @Configuration public class MyBlogWebMvcConfigurer extends WebMvcConfigurerAdapter { @Autowired priv ...

  6. spring框架中JDK和CGLIB动态代理区别

    转载:https://blog.csdn.net/yhl_jxy/article/details/80635012 前言JDK动态代理实现原理(jdk8):https://blog.csdn.net/ ...

  7. Mariadb之显式使用表锁和行级锁

    首先我们来看看mariadb的锁定概念,所谓锁就是当一个进程或事务在操作某一资源时,为了防止其他用户或者进程或事务对其进行资源操作,导致资源抢占而发生冲突,通常在A进程操作该资源时,会对该资源进行加锁 ...

  8. python基础知识扩展(一)

    python课外笔记 1.print函数 print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是 print("hellowo ...

  9. Conda太慢?试试这个加速工具!

    1 简介 Conda作为使用最为广泛的数据科学环境管理工具,可以协助我们很方便的完成创建管理环境.下载安装第三方库.软件包等操作,但其在下载资源的过程中下载速度时常令人捉急,即使使用连接速度更快的国内 ...

  10. activiti6基础01-如何数据库操作及相关表

    官网文档:https://www.activiti.org/userguide/#queryAPI 1. Activit的简单源码解读      activiti的官方文档讲解详细很详细,也很范.按着 ...