描述

通用水印配置方法。

  • 用于替换 SetWaterMarkImage()、SetWaterMarkText()、SetWaterMarkPadding()旧接口

接口

bool SetWaterMarkConfig(const char* id, const char *json_cfg)

参数

参数名 必填 类型 说明 备注
id string 水印ID
json_cfg json 配置项 桌面版为json_str web版为json_obj

json_cfg参数

1、移除水印

参数名 必填 类型 说明 备注
delete bool 移除水印 0:不做处理 1:移除指定id的水印。当id=””时,表示移除所有水印

2、添加或重置水印

通用配置

参数名 必填 类型 说明 备注
waterMarkType enum 水印类型 详见E_WATER_MARK_TYPE
topPadding float 上偏移 单位:cm,默认0.0cm。水印Y起始坐标
bottomPadding float 下偏移 单位:cm,默认0.0cm
leftPadding float 左偏移 单位:cm,默认0.0cm。水印X起始坐标
rightPadding float 右偏移 单位:cm,默认0.0cm
layer enum 水印层 0: 默认,下层; 1: 上层。同层水印可通过加入顺序进行层级控制。E_ATTACH_LAYER
forbidPrint bool 禁止打印 0:不禁止 1:禁止
repeat bool 页内自动重复 图片小于页面区域时,自动重复显示。注意:fillMode=1填满模式时,repeat项不生效
effectPage int 影响页模式 0:默认,所有页; >=1: 指定页码; -1:最后一页;

图片水印参数

参数名 必填 类型 说明 备注
imageName string 图像名称 可以为空,存在image_name字段说明是在配置图片水印
md5 string 图像数据MD5值 需预先设置图像资源:SetImageResource SetImageResourceBase64
alpha int 透明度 0~255 =255时表示不使用透明度功能
colorKey string 抠除背景色 [过时,印章可直接使用透明背景色的图片]A字段为0,表示不使能抠除背景色;A字段为255,表示使能抠除背景色,并使用RGB字段指定背景色;主要用于实现印章效果
angle float 旋转角度 0~360
fillMode int 填充模式 0:平铺 1:填满
width float 指定宽度 单位:cm 平铺模式下有效,如没有指定,则使用图片原始大小,不能小于1cm
height float 指定高度 单位:cm 平铺模式下有效,如没有指定,则使用图片原始大小,不能小于1cm

示例代码

var url = "/system/test/waterMark.jpg";
let response = await fetch(url,  {credentials:'same-origin'});
let img_data = await response.arrayBuffer();
var img_name = "waterMark.jpg";
var img_md5 = ThinkEditor.SetImageResource(img_name, img_data, img_data.byteLength);
console.log(img_md5);

let json_cfg={};
json_cfg.imageName = img_name;
json_cfg.md5 = img_md5;  
json_cfg.alpha = 50;
json_cfg.forbidPrint = 0;       
json_cfg.repeat = 0;         
json_cfg.fillMode = 1;    

json_cfg.topPadding = 0;   
json_cfg.bottomPadding = 0;          
json_cfg.leftPadding = 0;          
json_cfg.rightPadding = 0;   

var attach_id = "waterMarkImg";
ThinkEditor.SetWaterMarkConfig(attach_id, json_cfg);

文字水印参数

参数名 必填 类型 说明 备注
fontName string 字体名称 存在font_name字段说明是在配置文字水印
size float 字体大小 单位:cm
fragment string或fragment 水印内容
color string 字体颜色 RGB 示例红色:”ff0000”
angle float 旋转角度
italic bool 倾斜 0:不倾斜 1:倾斜
bold bool 加粗 0:不加粗 1:加粗

示例代码

var attach_id = "waterMarkTest";
let json_cfg={};
json_cfg.fontName = "宋体";
json_cfg.size = 1.0;  
json_cfg.fragment = "文字水印测试";
json_cfg.color = "c0c0c0";
json_cfg.angle = 315;

json_cfg.forbidPrint = 0;       
json_cfg.repeat = 1;         
json_cfg.fillMode = 0;    

json_cfg.topPadding = 2.8;   
json_cfg.bottomPadding = 2.8;          
json_cfg.leftPadding = 2.8;          
json_cfg.right_Padding = 2.8;   

ThinkEditor.SetWaterMarkConfig(attach_id, json_cfg);

返回值

类型 说明 备注
bool 是否成功 0:失败 1:成功
文档更新时间: 2025-03-15 19:11   作者:admin