Skip to content

调用安全电子印章服务器版的方法

系统检测和配置

IsNTKOSecSignSvrInstalled

语法:

javascript
IsNTKOSecSignSvrInstalled()

功能:
判断客户机本机是否已经安装了NTKO服务器版安全签名印章系统。

返回值:
布尔型。返回true(已安装)或者false(未安装)。

说明:
可以在调用安全电子印章功能之前调用此方法以判断NTKO安全签章系统的可用性。

注意: 本节描述的方法中除了IsNTKOSecSignSvrInstalled方法外,只有在本机安装了NTKO服务器版安全签名印章系统才可以使用。服务器版安全电子印章系统是单独的产品,需要单独购买。

注意: 该方法为2016年5月1日后发布的版本所提供。

使用示例:

javascript
// 检查服务器版安全电子印章系统是否已安装
function checkSecSignSvrInstallation() {
    try {
        if (OCX_OBJ.IsNTKOSecSignSvrInstalled()) {
            console.log("服务器版安全电子印章系统已安装");
            return true;
        } else {
            console.log("服务器版安全电子印章系统未安装");
            return false;
        }
    } catch (error) {
        console.error("检查服务器版安全电子印章系统失败:", error.message);
        return false;
    }
}

SvrShowConfig

语法:

javascript
SvrShowConfig()

功能:
弹出服务器签章的系统设置窗口。

返回值:
无返回值

说明:
弹出服务器签章的系统设置窗口,用户可以在配置窗口中设置服务器URL,并测试服务器连接,以及设置盖章时使用的默认密码。

使用示例:

javascript
// 显示服务器版安全电子印章系统配置
function showSecSignSvrConfig() {
    try {
        OCX_OBJ.SvrShowConfig();
        console.log("服务器版安全电子印章系统配置窗口已打开");
    } catch (error) {
        console.error("打开服务器版安全电子印章系统配置失败:", error.message);
    }
}

服务器版安全电子印章属性

SvrIsLogin

说明:
布尔型;只读;返回是否已经从服务器登录。

语法:

javascript
读取:varObj = Obj.SvrIsLogin;

使用示例:

javascript
// 检查是否已登录服务器
function checkSvrLogin() {
    try {
        if (OCX_OBJ.SvrIsLogin) {
            console.log("已登录服务器");
            return true;
        } else {
            console.log("未登录服务器");
            return false;
        }
    } catch (error) {
        console.error("检查服务器登录状态失败:", error.message);
        return false;
    }
}

SvrLoginUrl

说明:
String型字符串;可读写;返回或者设置配置的服务器URL地址。

语法:

javascript
设置:Obj.SvrLoginUrl = URLSTR;
读取:varObj = Obj.SvrLoginUrl;

注意: URL字符串必须以"/"符号结尾,如:http://192.168.0.224:1986/ntkoSignServer/

使用示例:

javascript
// 设置服务器登录URL
function setSvrLoginUrl() {
    try {
        OCX_OBJ.SvrLoginUrl = "http://192.168.0.224:1986/ntkoSignServer/";
        console.log("服务器登录URL设置完成");
    } catch (error) {
        console.error("设置服务器登录URL失败:", error.message);
    }
}

// 读取服务器登录URL
function getSvrLoginUrl() {
    try {
        var loginUrl = OCX_OBJ.SvrLoginUrl;
        console.log("当前服务器登录URL:", loginUrl);
        return loginUrl;
    } catch (error) {
        console.error("读取服务器登录URL失败:", error.message);
        return "";
    }
}

IsSetSvrSignBelowText

说明:
布尔型;可读写;读取/设置加盖服务器印章的时候,印章是否衬于文字下方。

语法:

javascript
设置:Obj.IsSetSvrSignBelowText = {true|false};
读取:varObj = Obj.IsSetSvrSignBelowText;

注意: 本属性必须在签章方法前调用。

使用示例:

javascript
// 设置服务器印章衬于文字下方
function setSvrSignBelowText() {
    try {
        OCX_OBJ.IsSetSvrSignBelowText = true;
        console.log("服务器印章已设置为衬于文字下方");
    } catch (error) {
        console.error("设置服务器印章衬于文字下方失败:", error.message);
    }
}

SvrSignsFilter

说明:
布尔型;可读写;读取/设置从服务器License盖章时,过滤印章名称。当用户名下有多个印章时,可以加盖指定的印章,而不需要弹出列表选择。

语法:

javascript
设置:Obj.SvrSignsFilter = SVRSIGNNAMESTR;
读取:varObj = Obj.SvrSignsFilter;

注意: 本属性只支持在SvrAddSecSign方法前调用。

使用示例:

javascript
// 设置服务器印章过滤
function setSvrSignsFilter() {
    try {
        // 全字匹配,只加盖名为"测试印章"的印章
        OCX_OBJ.SvrSignsFilter = "测试印章";
        OCX_OBJ.SvrAddSecSign();
        
        // 模糊匹配,可以模糊匹配以"测试"开头的印章
        OCX_OBJ.SvrSignsFilter = "测试*";
        OCX_OBJ.SvrAddSecSign();
        
        console.log("服务器印章过滤设置完成");
    } catch (error) {
        console.error("设置服务器印章过滤失败:", error.message);
    }
}

服务器登录和注销

SvrDoLogin

语法:

javascript
SvrDoLogin(username, password, bUseEkey)

功能:
登录印章服务器。

参数:

名称必选/可选数据类型说明
username必选string登录用户名
password必选string登录密码
bUseEkey必选bool是否使用EKEY登录

返回值:
布尔型;是否登录成功。

说明:
登录印章服务器。如果参数username或者password为""空字符串,则会弹出登录框。如果设置参数bUseEkey为true,前面2个参数均无用。

使用示例:

javascript
// 登录印章服务器
function svrDoLogin() {
    try {
        // 使用用户名和密码登录
        var isLogin = OCX_OBJ.SvrDoLogin("admin", "password", false);
        if (isLogin) {
            console.log("服务器登录成功");
        } else {
            console.log("服务器登录失败");
        }
    } catch (error) {
        console.error("服务器登录失败:", error.message);
    }
}

// 弹出登录框让用户输入用户名和密码
function svrDoLoginWithDialog() {
    try {
        var isLogin = OCX_OBJ.SvrDoLogin("", "", false);
        if (isLogin) {
            console.log("服务器登录成功");
        } else {
            console.log("服务器登录失败");
        }
    } catch (error) {
        console.error("服务器登录失败:", error.message);
    }
}

// 使用EKEY登录
function svrDoLoginWithEkey() {
    try {
        var isLogin = OCX_OBJ.SvrDoLogin("", "", true);
        if (isLogin) {
            console.log("EKEY登录成功");
        } else {
            console.log("EKEY登录失败");
        }
    } catch (error) {
        console.error("EKEY登录失败:", error.message);
    }
}

SvrDoLogout

语法:

javascript
SvrDoLogout()

功能:
从服务器注销。

返回值:
无返回值

说明:
从服务器注销。

使用示例:

javascript
// 从服务器注销
function svrDoLogout() {
    try {
        OCX_OBJ.SvrDoLogout();
        console.log("服务器注销完成");
    } catch (error) {
        console.error("服务器注销失败:", error.message);
    }
}

服务器版安全电子印章

SvrAddSecHandsign

语法:

javascript
SvrAddSecHandsign([v_IsMousePos], [password])

功能:
服务器手写签名。

参数:

名称必选/可选数据类型说明
v_IsMousePos可选bool是否通过鼠标定位
password可选string印章密码

返回值:
无返回值

说明:
服务器手写签名。参数v_IsMousePos:缺省值是true,即通过鼠标定位。设为false代表光标定位,即在当前光标位置上插入电子印章。

使用示例:

javascript
// 服务器手写签名
function svrAddSecHandsign() {
    try {
        // 通过鼠标定位的手写签名
        OCX_OBJ.SvrAddSecHandsign();
        
        // 通过光标定位的手写签名
        OCX_OBJ.SvrAddSecHandsign(false);
        
        // 带密码的手写签名
        OCX_OBJ.SvrAddSecHandsign(true, "password");
        
        console.log("服务器手写签名完成");
    } catch (error) {
        console.error("服务器手写签名失败:", error.message);
    }
}

SvrAddSecKeyboardComment

语法:

javascript
SvrAddSecKeyboardComment([v_IsMousePos], [password])

功能:
服务器键盘批注。

参数:

名称必选/可选数据类型说明
v_IsMousePos可选bool是否通过鼠标定位
password可选string印章密码

返回值:
无返回值

说明:
服务器键盘批注(使用方法和SvrAddSecHandsign一样)。参数v_IsMousePos:缺省值是true,即通过鼠标定位。设为false代表光标定位,即在当前光标位置上插入电子印章。

使用示例:

javascript
// 服务器键盘批注
function svrAddSecKeyboardComment() {
    try {
        // 通过鼠标定位的键盘批注
        OCX_OBJ.SvrAddSecKeyboardComment();
        
        // 通过光标定位的键盘批注
        OCX_OBJ.SvrAddSecKeyboardComment(false);
        
        // 带密码的键盘批注
        OCX_OBJ.SvrAddSecKeyboardComment(true, "password");
        
        console.log("服务器键盘批注完成");
    } catch (error) {
        console.error("服务器键盘批注失败:", error.message);
    }
}

SvrAddSecEkeySign

语法:

javascript
SvrAddSecEkeySign([v_IsMousePos], [password])

功能:
服务器EKEY盖章。

参数:

名称必选/可选数据类型说明
v_IsMousePos可选bool是否通过鼠标定位
password可选string印章密码

返回值:
无返回值

说明:
服务器EKEY盖章(使用方法和SvrAddSecHandsign一样)。参数v_IsMousePos:缺省值是true,即通过鼠标定位。设为false代表光标定位,即在当前光标位置上插入电子印章。

使用示例:

javascript
// 服务器EKEY盖章
function svrAddSecEkeySign() {
    try {
        // 通过鼠标定位的EKEY盖章
        OCX_OBJ.SvrAddSecEkeySign();
        
        // 通过光标定位的EKEY盖章
        OCX_OBJ.SvrAddSecEkeySign(false);
        
        // 带密码的EKEY盖章
        OCX_OBJ.SvrAddSecEkeySign(true, "password");
        
        console.log("服务器EKEY盖章完成");
    } catch (error) {
        console.error("服务器EKEY盖章失败:", error.message);
    }
}

SvrAddSecsign

语法:

javascript
SvrAddSecsign([v_IsMousePos], [password])

功能:
从印章服务器盖章。

参数:

名称必选/可选数据类型说明
v_IsMousePos可选bool是否通过鼠标定位
password可选string印章密码

返回值:
无返回值

说明:
从印章服务器盖章(使用方法和SvrAddSecHandsign一样)。参数v_IsMousePos:缺省值是true,即通过鼠标定位。设为false代表光标定位,即在当前光标位置上插入电子印章。

使用示例:

javascript
// 从印章服务器盖章
function svrAddSecsign() {
    try {
        // 通过鼠标定位的服务器盖章
        OCX_OBJ.SvrAddSecsign();
        
        // 通过光标定位的服务器盖章
        OCX_OBJ.SvrAddSecsign(false);
        
        // 带密码的服务器盖章
        OCX_OBJ.SvrAddSecsign(true, "password");
        
        console.log("从印章服务器盖章完成");
    } catch (error) {
        console.error("从印章服务器盖章失败:", error.message);
    }
}

服务器版特殊印章

SvrAddSecPerpagesign

语法:

javascript
SvrAddSecPerpagesign()

功能:
添加校核章。

返回值:
无返回值

说明:
添加校核章。

使用示例:

javascript
// 添加校核章
function svrAddSecPerpagesign() {
    try {
        OCX_OBJ.SvrAddSecPerpagesign();
        console.log("校核章添加完成");
    } catch (error) {
        console.error("添加校核章失败:", error.message);
    }
}

SvrAddSecBarcode

语法:

javascript
SvrAddSecBarcode(BarCodeType, StringData, [vGBCodebDefaultSet], [password], [v_IsUserSetPosition], [v_PosX], [v_PosY])

功能:
二维条码印章。

参数:

名称必选/可选数据类型说明
BarCodeType必选long二维码类型
StringData必选string二维码信息字符串
vGBCodebDefaultSet可选string国标PDF417信息字符串
password可选string默认密码
v_IsUserSetPosition可选bool是否允许设置签章位置
v_PosX可选long左上角X坐标
v_PosY可选long左上角Y坐标

返回值:
无返回值

说明:
二维条码印章。参数v_IsUserSetPosition:如果设为true,后面的v_PosX、v_PosY即生效,二维码即自动放置到指定坐标位置上,而不需要通过鼠标定位。关于参数BarCodeType、StringData、vGBCodebDefaultSet可以参照本接口文档4.9.1节关于Add2CodePic方法的介绍。

使用示例:

javascript
// 二维条码印章
function svrAddSecBarcode() {
    try {
        // 基本二维条码印章
        OCX_OBJ.SvrAddSecBarcode(2, "二维码信息");
        
        // 带密码的二维条码印章
        OCX_OBJ.SvrAddSecBarcode(2, "二维码信息", "", "password");
        
        // 指定位置的二维条码印章
        OCX_OBJ.SvrAddSecBarcode(2, "二维码信息", "", "password", true, 100, 100);
        
        console.log("二维条码印章添加完成");
    } catch (error) {
        console.error("添加二维条码印章失败:", error.message);
    }
}

SvrAddSecCrossTwoPagesign

语法:

javascript
SvrAddSecCrossTwoPagesign()

功能:
添加对称骑缝章。

返回值:
无返回值

说明:
添加对称骑缝章。

使用示例:

javascript
// 添加对称骑缝章
function svrAddSecCrossTwoPagesign() {
    try {
        OCX_OBJ.SvrAddSecCrossTwoPagesign();
        console.log("对称骑缝章添加完成");
    } catch (error) {
        console.error("添加对称骑缝章失败:", error.message);
    }
}

SvrAddSecCrossMuliPagesign

语法:

javascript
SvrAddSecCrossMuliPagesign()

功能:
添加单侧骑缝章。

返回值:
无返回值

说明:
添加单侧骑缝章。

使用示例:

javascript
// 添加单侧骑缝章
function svrAddSecCrossMuliPagesign() {
    try {
        OCX_OBJ.SvrAddSecCrossMuliPagesign();
        console.log("单侧骑缝章添加完成");
    } catch (error) {
        console.error("添加单侧骑缝章失败:", error.message);
    }
}

服务器版印章管理

SvrCheckSecsigns

语法:

javascript
SvrCheckSecsigns()

功能:
检查文档中的服务器印章。

返回值:
无返回值

说明:
检查文档中的服务器印章。

使用示例:

javascript
// 检查文档中的服务器印章
function svrCheckSecsigns() {
    try {
        OCX_OBJ.SvrCheckSecsigns();
        console.log("服务器印章检查完成");
    } catch (error) {
        console.error("检查服务器印章失败:", error.message);
    }
}

EnableServerSignButton

语法:

javascript
EnableServerSignButton(btnIndex, bEnabled)

功能:
启用/禁用服务器版安全电子印章工具栏按钮。

参数:

名称必选/可选数据类型说明
btnIndex必选long签章按钮索引ID
bEnabled必选bool是否启用

返回值:
无返回值

说明:
启用/禁用服务器版安全电子印章工具栏按钮,且必须在用户已登录到签章服务器的情况下,设置才有效。

参数说明:

  • btnIndex:签章按钮索引ID
    • 1:手写签名
    • 2:电子印章
    • 3:校核章
    • 4:键盘批注
    • 5:EKEY盖章
    • 6:系统设置
    • 9:检验所有印章
    • 12:公文二维码
    • 13:对称骑缝章
    • 14:单侧骑缝章

使用示例:

javascript
// 启用/禁用服务器版安全电子印章工具栏按钮
function enableServerSignButton() {
    try {
        // 启用手写签名按钮
        OCX_OBJ.EnableServerSignButton(1, true);
        
        // 禁用电子印章按钮
        OCX_OBJ.EnableServerSignButton(2, false);
        
        console.log("服务器版安全电子印章工具栏按钮设置完成");
    } catch (error) {
        console.error("设置服务器版安全电子印章工具栏按钮失败:", error.message);
    }
}

服务器版印章验证

SetSecSignSvrCtrlProtectRangeMode

语法:

javascript
SetSecSignSvrCtrlProtectRangeMode(nProtectType, [RangeValue])

功能:
设定服务器版电子印章是否启用部分验证。

参数:

名称必选/可选数据类型说明
nProtectType必选string验证方式
RangeValue可选string验证域

返回值:
无返回值

说明:
参数nProtectType:0:验证全文;1:验证书签;2:验证页码。参数RangeValue:当nProtectType为1或2时有效。为1时,此参数应为书签名称;为2时,此参数应为页面范围字符串,字符串格式为','逗号分隔,可'3-5',用横线指定范围。

注意: 该方法为2016年5月1日后发布的版本所提供。该方法必须搭配2016年5月1日发布的OFFICE安全电子印章使用。

使用示例:

javascript
// 设定服务器版电子印章部分验证
function setSecSignSvrCtrlProtectRangeMode() {
    try {
        // 验证全文
        OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(0);
        
        // 验证书签
        OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(1, "bookmark1");
        
        // 验证页码
        OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(2, "1-3,5");
        
        console.log("服务器版电子印章部分验证设置完成");
    } catch (error) {
        console.error("设置服务器版电子印章部分验证失败:", error.message);
    }
}

SvrSetAutoAcceptRevisons

语法:

javascript
SvrSetAutoAcceptRevisons(bEnabled)

功能:
设定是否在安全签章时,自动接受修订痕迹。

参数:

名称必选/可选数据类型说明
bEnabled必选bool是否接受痕迹

返回值:
无返回值

说明:
在签章方法前调用,只接受修订,但不退出修订状态。

注意: 该方法必须搭配2017年11月28日后发布的OFFICE安全电子印章使用。

使用示例:

javascript
// 设定服务器版安全签章自动接受修订痕迹
function svrSetAutoAcceptRevisons() {
    try {
        OCX_OBJ.SvrSetAutoAcceptRevisons(true);
        console.log("服务器版安全签章自动接受修订痕迹设置完成");
    } catch (error) {
        console.error("设置服务器版安全签章自动接受修订痕迹失败:", error.message);
    }
}

方法分类总结

分类方法功能说明
系统检测IsNTKOSecSignSvrInstalled检查服务器版安全电子印章系统是否已安装系统检测
SvrShowConfig显示服务器版安全电子印章系统配置系统配置
服务器登录SvrDoLogin登录印章服务器服务器登录
SvrDoLogout从服务器注销服务器注销
服务器手写签名SvrAddSecHandsign服务器手写签名手写签名
服务器键盘批注SvrAddSecKeyboardComment服务器键盘批注键盘批注
服务器EKEY盖章SvrAddSecEkeySign服务器EKEY盖章EKEY盖章
服务器印章SvrAddSecsign从印章服务器盖章服务器盖章
特殊印章SvrAddSecPerpagesign添加校核章校核章
SvrAddSecBarcode二维条码印章二维条码
SvrAddSecCrossTwoPagesign添加对称骑缝章对称骑缝章
SvrAddSecCrossMuliPagesign添加单侧骑缝章单侧骑缝章
印章管理SvrCheckSecsigns检查文档中的服务器印章印章检查
EnableServerSignButton启用/禁用服务器版安全电子印章工具栏按钮工具栏管理
印章验证SetSecSignSvrCtrlProtectRangeMode设定服务器版电子印章部分验证印章验证
SvrSetAutoAcceptRevisons设定服务器版安全签章自动接受修订痕迹修订痕迹

使用流程

1. 检查系统安装

javascript
// 检查服务器版安全电子印章系统是否已安装
function checkSecSignSvrSystem() {
    try {
        if (OCX_OBJ.IsNTKOSecSignSvrInstalled()) {
            console.log("服务器版安全电子印章系统已安装,可以正常使用");
            return true;
        } else {
            console.log("服务器版安全电子印章系统未安装,请先安装系统");
            return false;
        }
    } catch (error) {
        console.error("检查服务器版安全电子印章系统失败:", error.message);
        return false;
    }
}

2. 配置服务器设置

javascript
// 配置服务器版安全电子印章系统
function configureSecSignSvrSystem() {
    try {
        // 显示系统配置窗口
        OCX_OBJ.SvrShowConfig();
        
        // 设置服务器登录URL
        OCX_OBJ.SvrLoginUrl = "http://192.168.0.224:1986/ntkoSignServer/";
        
        // 设置服务器印章衬于文字下方
        OCX_OBJ.IsSetSvrSignBelowText = true;
        
        console.log("服务器版安全电子印章系统配置完成");
    } catch (error) {
        console.error("配置服务器版安全电子印章系统失败:", error.message);
    }
}

3. 登录服务器

javascript
// 登录印章服务器
function loginToServer() {
    try {
        // 使用用户名和密码登录
        var isLogin = OCX_OBJ.SvrDoLogin("admin", "password", false);
        if (isLogin) {
            console.log("服务器登录成功");
            return true;
        } else {
            console.log("服务器登录失败");
            return false;
        }
    } catch (error) {
        console.error("服务器登录失败:", error.message);
        return false;
    }
}

4. 添加服务器印章

javascript
// 添加服务器印章
function addServerSign() {
    try {
        // 检查是否已登录
        if (!OCX_OBJ.SvrIsLogin) {
            console.log("请先登录服务器");
            return;
        }
        
        // 添加服务器手写签名
        OCX_OBJ.SvrAddSecHandsign();
        
        // 添加服务器键盘批注
        OCX_OBJ.SvrAddSecKeyboardComment();
        
        // 从印章服务器盖章
        OCX_OBJ.SvrAddSecsign();
        
        console.log("服务器印章添加完成");
    } catch (error) {
        console.error("添加服务器印章失败:", error.message);
    }
}

完整示例

1. 基础服务器版安全电子印章使用

javascript
// 基础服务器版安全电子印章使用示例
function basicSecSignSvrUsage() {
    try {
        // 检查系统是否已安装
        if (!OCX_OBJ.IsNTKOSecSignSvrInstalled()) {
            console.log("服务器版安全电子印章系统未安装");
            return;
        }
        
        // 设置服务器登录URL
        OCX_OBJ.SvrLoginUrl = "http://192.168.0.224:1986/ntkoSignServer/";
        
        // 登录服务器
        var isLogin = OCX_OBJ.SvrDoLogin("admin", "password", false);
        if (!isLogin) {
            console.log("服务器登录失败");
            return;
        }
        
        // 添加服务器印章
        OCX_OBJ.SvrAddSecHandsign();
        OCX_OBJ.SvrAddSecKeyboardComment();
        OCX_OBJ.SvrAddSecsign();
        
        console.log("基础服务器版安全电子印章使用完成");
    } catch (error) {
        console.error("基础服务器版安全电子印章使用失败:", error.message);
    }
}

2. 高级服务器版安全电子印章管理

javascript
// 高级服务器版安全电子印章管理示例
function advancedSecSignSvrManagement() {
    try {
        // 设置服务器印章衬于文字下方
        OCX_OBJ.IsSetSvrSignBelowText = true;
        
        // 设置服务器印章过滤
        OCX_OBJ.SvrSignsFilter = "测试印章";
        
        // 添加特殊印章
        OCX_OBJ.SvrAddSecPerpagesign(); // 校核章
        OCX_OBJ.SvrAddSecCrossTwoPagesign(); // 对称骑缝章
        OCX_OBJ.SvrAddSecCrossMuliPagesign(); // 单侧骑缝章
        
        // 添加二维条码印章
        OCX_OBJ.SvrAddSecBarcode(2, "二维码信息", "", "password", true, 100, 100);
        
        // 检查文档中的服务器印章
        OCX_OBJ.SvrCheckSecsigns();
        
        // 启用/禁用工具栏按钮
        OCX_OBJ.EnableServerSignButton(1, true); // 启用手写签名按钮
        OCX_OBJ.EnableServerSignButton(2, true); // 启用电子印章按钮
        OCX_OBJ.EnableServerSignButton(3, false); // 禁用校核章按钮
        
        console.log("高级服务器版安全电子印章管理完成");
    } catch (error) {
        console.error("高级服务器版安全电子印章管理失败:", error.message);
    }
}

3. 服务器版安全电子印章质量控制

javascript
// 服务器版安全电子印章质量控制示例
function secSignSvrQualityControl() {
    try {
        // 设定服务器版电子印章部分验证
        OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(0); // 验证全文
        
        // 设定服务器版安全签章自动接受修订痕迹
        OCX_OBJ.SvrSetAutoAcceptRevisons(true);
        
        // 设置服务器印章衬于文字下方
        OCX_OBJ.IsSetSvrSignBelowText = true;
        
        // 设置服务器印章过滤
        OCX_OBJ.SvrSignsFilter = "测试*";
        
        console.log("服务器版安全电子印章质量控制完成");
    } catch (error) {
        console.error("服务器版安全电子印章质量控制失败:", error.message);
    }
}

注意事项

  1. 版本要求:此方法是增强版及以上版本所有
  2. 系统安装:需要安装NTKO服务器版安全签名印章系统
  3. 产品购买:服务器版安全电子印章系统是单独的产品,需要单独购买
  4. 方法限制:除了IsNTKOSecSignSvrInstalled方法外,只有在本机安装了NTKO服务器版安全签名印章系统才可以使用
  5. 服务器连接:需要确保服务器连接正常
  6. 用户登录:需要先登录服务器才能使用印章功能
  7. 参数设置:合理设置各种参数以确保印章功能正常
  8. 错误处理:实现完善的错误处理机制

错误处理

javascript
// 服务器版安全电子印章操作错误处理
function handleSecSignSvrError(operation, error) {
    console.error("服务器版安全电子印章操作失败:", operation, error.message);
    
    switch(operation) {
        case 'IsNTKOSecSignSvrInstalled':
            console.log("检查服务器版安全电子印章系统失败,请检查:");
            console.log("1. 系统是否已安装");
            console.log("2. 控件版本是否支持");
            break;
        case 'SvrDoLogin':
            console.log("服务器登录失败,请检查:");
            console.log("1. 服务器是否可访问");
            console.log("2. 用户名和密码是否正确");
            console.log("3. 网络连接是否正常");
            break;
        case 'SvrAddSecHandsign':
            console.log("添加服务器手写签名失败,请检查:");
            console.log("1. 是否已登录服务器");
            console.log("2. 服务器版安全电子印章系统是否已安装");
            console.log("3. 用户权限是否足够");
            break;
        default:
            console.log("未知服务器版安全电子印章操作失败");
    }
}

最佳实践

1. 服务器版安全电子印章使用最佳实践

javascript
// 服务器版安全电子印章使用最佳实践
function secSignSvrUsageBestPractice() {
    try {
        // 检查系统是否已安装
        if (!OCX_OBJ.IsNTKOSecSignSvrInstalled()) {
            console.log("服务器版安全电子印章系统未安装,请先安装系统");
            return;
        }
        
        // 设置服务器登录URL
        OCX_OBJ.SvrLoginUrl = "http://192.168.0.224:1986/ntkoSignServer/";
        
        // 登录服务器
        function loginToServerWithErrorHandling() {
            try {
                var isLogin = OCX_OBJ.SvrDoLogin("admin", "password", false);
                if (isLogin) {
                    console.log("服务器登录成功");
                    return true;
                } else {
                    console.log("服务器登录失败");
                    return false;
                }
            } catch (error) {
                handleSecSignSvrError('SvrDoLogin', error);
                return false;
            }
        }
        
        // 执行服务器登录
        if (loginToServerWithErrorHandling()) {
            // 添加服务器印章
            OCX_OBJ.SvrAddSecHandsign();
            console.log("服务器版安全电子印章使用成功");
        }
        
    } catch (error) {
        console.error("服务器版安全电子印章使用最佳实践失败:", error.message);
    }
}

2. 服务器版安全电子印章管理最佳实践

javascript
// 服务器版安全电子印章管理最佳实践
function secSignSvrManagementBestPractice() {
    try {
        // 服务器版安全电子印章管理配置
        var secSignSvrConfig = {
            loginUrl: "http://192.168.0.224:1986/ntkoSignServer/",
            signBelowText: true,
            signsFilter: "测试印章",
            protectRangeMode: 0,
            autoAcceptRevisons: true
        };
        
        // 应用服务器版安全电子印章管理配置
        function applySecSignSvrConfig() {
            try {
                OCX_OBJ.SvrLoginUrl = secSignSvrConfig.loginUrl;
                OCX_OBJ.IsSetSvrSignBelowText = secSignSvrConfig.signBelowText;
                OCX_OBJ.SvrSignsFilter = secSignSvrConfig.signsFilter;
                OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(secSignSvrConfig.protectRangeMode);
                OCX_OBJ.SvrSetAutoAcceptRevisons(secSignSvrConfig.autoAcceptRevisons);
                
                console.log("服务器版安全电子印章管理配置应用成功");
            } catch (error) {
                console.error("应用服务器版安全电子印章管理配置失败:", error.message);
            }
        }
        
        // 应用配置
        applySecSignSvrConfig();
        
    } catch (error) {
        console.error("服务器版安全电子印章管理最佳实践失败:", error.message);
    }
}

3. 服务器版安全电子印章质量控制最佳实践

javascript
// 服务器版安全电子印章质量控制最佳实践
function secSignSvrQualityControlBestPractice() {
    try {
        // 服务器版安全电子印章质量控制
        function controlSecSignSvrQuality() {
            try {
                // 设置质量控制参数
                OCX_OBJ.IsSetSvrSignBelowText = true;
                OCX_OBJ.SvrSignsFilter = "测试*";
                OCX_OBJ.SetSecSignSvrCtrlProtectRangeMode(0);
                OCX_OBJ.SvrSetAutoAcceptRevisons(true);
                
                // 检查文档中的服务器印章
                OCX_OBJ.SvrCheckSecsigns();
                
                console.log("服务器版安全电子印章质量控制完成");
            } catch (error) {
                console.error("服务器版安全电子印章质量控制失败:", error.message);
            }
        }
        
        // 执行质量控制
        controlSecSignSvrQuality();
        
    } catch (error) {
        console.error("服务器版安全电子印章质量控制最佳实践失败:", error.message);
    }
}

技术要点

  1. 版本兼容性:确保使用增强版及以上版本
  2. 系统安装:需要安装NTKO服务器版安全签名印章系统
  3. 产品购买:服务器版安全电子印章系统是单独的产品,需要单独购买
  4. 方法限制:除了IsNTKOSecSignSvrInstalled方法外,只有在本机安装了NTKO服务器版安全签名印章系统才可以使用
  5. 服务器连接:需要确保服务器连接正常
  6. 用户登录:需要先登录服务器才能使用印章功能
  7. 参数设置:合理设置各种参数以确保印章功能正常
  8. 错误处理:完善的错误处理机制

总结

调用安全电子印章服务器版的方法为软航OFFICE文档控件提供了强大的服务器版安全电子印章管理能力。通过IsNTKOSecSignSvrInstalled方法可以检查系统是否已安装,通过SvrShowConfig方法可以配置系统设置,通过SvrDoLogin方法可以登录服务器,通过SvrAddSecHandsign、SvrAddSecKeyboardComment、SvrAddSecEkeySign、SvrAddSecsign等方法可以添加各种类型的服务器版安全电子印章,通过SvrAddSecPerpagesign、SvrAddSecBarcode、SvrAddSecCrossTwoPagesign、SvrAddSecCrossMuliPagesign等方法可以添加特殊印章,通过SvrCheckSecsigns方法可以检查印章,通过EnableServerSignButton方法可以管理工具栏按钮,通过SetSecSignSvrCtrlProtectRangeMode、SvrSetAutoAcceptRevisons等方法可以控制印章验证和修订痕迹,为开发者提供了灵活的服务器版安全电子印章管理功能,大大提升了控件的服务器版安全电子印章处理能力和用户体验。