水印是指为了防止报表被盗、进行真伪鉴别、版权保护等,在报表中添加半透明的图片数字进行信息标记的效果。

系统支持对透视分析、即席查询、电子表格等报表的水印设置。

水印设置项

水印各设置项说明如下:

设置项说明
启用水印表示是否启用当前水印设置,默认为”否“。
水印位置

倾斜平铺:表示多个水印以倾斜平铺显示。

居中单行:表示一个水印单行居中显示。

水印间隔“倾斜平铺”效果时,设置各水印之间的间隔。
透明度设置水印的透明度。
倾斜度设置水印的倾斜度。
水印类型支持“文字"水印和”图片“水印。
水印内容水印类型是”文字“时,用于输入文字;支持系统函数获取当前信息作为水印内容。
文本样式水印类型是”文字“时,用于设置文字字体、字号等。
水印图片水印类型是”图片“时,用于上传图片,图片大小不能超过200KB

水印效果

水印类型效果
文字类型倾斜平铺

居中单行

图片类型倾斜平铺

居中单行


水印内容函数列表

函数说明
当前用户别名获取当前用户别名,无参数。
当前用户名称获取当前用户名称,无参数。
当前用户ID获取当前用户ID,无参数。
当前用户归属获取当前用户默认所属组的名称,无参数。
当前日期时间获取当前日期时间,无参数。日期时间格式为 YYYY-MM-DD HH:MM:SS。
当前日期获取当前日期,无参数。日期格式为 YYYY-MM-DD。
当前用户IP

获取当前用户登录的IP地址,无参数。

获取session属性值(属性名称)

获取当前会话中的属性值;参数是“属性名称”。

前提:通过代码向会话中插入属性,包含属性名称和属性值。

示例:通过调用相关api向会话中插入属性用户昵称,属性名称为"user_nickname”,属性值为"小花"。使用当前session属性值函数GetSessionAttribute(user_nickname),即可获取“小花”。

202503新增函数


获取用户属性值(用户属性名称)

获取用户属性的值。参数:用户属性名称,指的是运维设置中的“用户属性”名。

202503新增函数

示例:用户的工号存储在数据库某张表中,需要在水印中显示当前登录用户的工号。

1、在运维设置 → 全局资源定义 → 用户属性中,新建用户属性,从数据库表中读取当前登录用户的工号。用户属性功能请参考:用户属性

2、在运维设置 → 常用功能 → 系统选项 → 水印设置中,插入“获取用户属性值(用户属性名称)”函数,并在该函数的括号中输入步骤1中创建的用户属性的名称

3、用户登录查看报表时,水印即可显示用户工号

水印兼容说明

1、V10版本系统默认显示系统选项水印设置,且无报表级别水印设置。

2、若系统中旧的电子表格设置过报表级别的水印,用户想在V10版本中启用电子表格中创建的旧水印,则需要在”系统选项 > 高级设置“中任意处自行添加启用代码”USE_SPREADSHEET_REPORT_LEVEL_WATERMARK=true“。


水印常见问题

问题1:获取session属性值、获取用户属性值函数输,输入属性名称或用户属性名称时,需要加双引号吗?

解答:直接在括号中输入属性名称/用户属性名称即可,不需要添加双引号。如用户属性名称为 “获取用户工号”,则在水印内容中添加 获取用户属性值函数后,水印内容中会自动添加函数GetUserProperty(),直接在括号中输入 获取用户工号 即可。如下


问题2:若函数出现错误,比如用户属性名称输入了双引号或者括号中应该为空却输入了内容。系统会怎么显示?

解答:若函数表达式出现错误,则函数会被直接识别为文本,并不会转换成对应的值进行展示。如以下函数为“当前用户名称”,正确的函数表达式为 CurrentUserName()。但实际上括号中多了内容。则CurrentUserName(1123) 会被识别为文本显示在水印中。

水印效果如下


问题3:访问报表水印显示正常,导出后水印出现乱码

解答:请参考电子表格报表导出,水印出现乱码