专题总结 >> 设计报表 >> 如何读取Access里的OLE类型的图片

如何读取Access里的OLE类型的图片

顶( )
最后更新日期: 人发表评论 (点击查看)
读取Access里的OLE类型的图片、将长二进制数据显示为图片、显示身份证读卡器读取的照片、显示图片
1. 问题描述
使用身份证读卡器读取照片信息保存在Access数据库的OLE型字段中,图片为bmp格式,因为是用其读卡器写入,数据类型为长二进制数据。
将该图片字段拖入单元格后,预览看不到图片,如何才能在FR里把这个图片展现出来呢?
2. 解决方案
自定义函数,使用java的jna调用本地的WltRS.dll,将数据库OLE字段中的长二进制数据转为.wlt文件,再调用本地方法将.wlt文件转为.bmp图片,最终自定义函数返回图片在FR中显示。
3. 实现步骤
3.1 前提准备
本地库文件WltRS.dll保存在E:\bmp\WltRS.dll(位置可变,但必须保证与自定义函数中的路径一致)
eclipse项目中导入FR的jar包,如该例使用7.0版本的fr-server-7.0、fr-third-7.0两个包。
3.2 实现自定义函数
我们自定义一个函数类BinaryImage.java,该类继承AbstractFunction,在run()方法中使用java的jna调用本地库文件WltRS.dll,最终返回图片。
代码如下:
将编译后的BinaryImage.class、WltRS.class根据包名拷贝至报表工程如报表安装目录下的WebReport\WEB-INF\classes\com\fr\report\script\function\文件夹下。
3.3 使用自定义函数将OLE类型字段的值显示为图片
启动设计器,点击服务器>函数管理器,新增自定义函数BINARYIMAGE,选择com.fr.report.script.function.BinaryImage类:
将身份证读卡器写入Access数据库OLE型字段的照片信息拖入单元格,双击,在数据列>高级>自定义显示中使用自定义函数转换成图片:
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3