图片在下文字在上

编辑
  • 文档创建者:印然
  • 浏览次数:4931次
  • 编辑次数:15次
  • 最近更新:Carly 于 2019-09-11
  • 1. 描述

    应用场景:一个图表字段跟一个普通字段希望有层次的显示在一个单元格中。例如 A 字段存着一个图片,B 字段存着一些字符串。

    背景是 A 字段,显示的内容是 B 字段的值,类似于PPT 等层的一个关系,下层图片为背景、上层显示帆软字符串,如下图所示: 


    222

    2. 实现思路

    FineReport 可以通过自定义函数来实现,定义两个参数 name、 image 分别接收模板中字段,然后返回一个带 name 的图片,就实现把文字显示在图片之上了。


    3. 实现步骤

    3.1 编写自定义函数

    定义 StringImage 这个类代码详见:

    https://git.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/function/StringImage.java


    3.2 编译自定义函数

    将编译后的 StringImage.class 放到%FR _HOME%\webapps\webroot\WEB-INF\classes下,因为 StringImage.java 属于包 com.fr.function,所以 StringImage.class 需要放到%FR _HOME%\webapps\webroot\WEB-INF\classes\com\fr\function目录下。


    3.3 注册自定义函数

    生成该函数的类后需要在设计器中进行注册,才可以使用该函数。打开服务器>函数管理器,选择刚刚定义好了 StringImage 类,如下图:
    222

    函数名称可以自定义,同时可以添加该函数的使用说明,如上图所示的描述。


    3.4 使用自定义函数

    注册好自定义函数后,制作报表时便可直接使用。

    1)首先数据库中需要新建一张表,存放图片和文字的内容(图片上传到数据库的方法请参见 上传图片),如下图所示:
    222

    注:内置的 Sqlite 不支持显示图片。

    2)制作模板

    A1 单元格拖入 name 字段,B1 单元格拖入 picture 字段,A2 单元格输入公式 =StringImage(A1,B1),如下图所示:
    222

    保存模板预览就可以实现图片在下文字在上的效果了,如下图所示:

    222


    附件列表


    主题: 二次开发
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]