Skip to content

调用安全电子印章单机版的方法

系统检测和配置

IsNTKOSecSignInstalled

语法:

javascript
IsNTKOSecSignInstalled()

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

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

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

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

使用示例:

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

ShowConfig2

语法:

javascript
ShowConfig2()

功能:
弹出单机版签章的系统设置窗口。

返回值:
无返回值

说明:
弹出单机版签章的系统设置窗口,用户可以在配置窗口中进行系统设定、签章设定、手写批注设定等。

使用示例:

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

安全电子印章属性

IsAutoLockOnSecSign

说明:
布尔型;可读写;读取/设置是否在加盖安全签名/印章之后自动保护文档。仅支持通过文档控件盖章方法(如AddSecHandSign、AddSecSignFromEkey等)盖章有效,工具栏盖章按钮及对应方法无效。

语法:

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

使用示例:

javascript
// 设置自动锁定文档
OCX_OBJ.IsAutoLockOnSecSign = true;

// 读取自动锁定设置
var isAutoLock = OCX_OBJ.IsAutoLockOnSecSign;

IsAllowAddSignOnLockedDoc

说明:
布尔型;可读写;读取/设置是否允许在被印章保护的文档上盖章。仅支持通过文档控件盖章方法(如AddSecHandSign、AddSecSignFromEkey等)盖章有效,工具栏盖章按钮及对应方法无效。

语法:

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

使用示例:

javascript
// 设置允许在被保护的文档上盖章
OCX_OBJ.IsAllowAddSignOnLockedDoc = true;

// 读取允许盖章设置
var isAllowAddSign = OCX_OBJ.IsAllowAddSignOnLockedDoc;

安全手写签名

AddSecHandSign

语法:

javascript
AddSecHandSign(username, [left], [top], [relative], [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [IsAddComment], [IsBelowText])

功能:
为文档添加通过坐标定位的安全手写签名。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
left可选long相对光标的位置,一般传递0
top可选long相对光标的位置,一般传递0
relative可选long定位相对值,一般传递1
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
IsAddComment可选bool是否允许用户输入批注
IsBelowText可选bool是否盖在文字下方

返回值:
无返回值

说明:
为文档添加通过坐标定位的安全手写签名。

参数说明:

  • PrintMode:控制打印,0=不打印,1=打印灰色,2=打印原始
  • IsUseCertificate:是否使用证书,true或者false,默认值是false
  • IsLocked:是否锁定印章,true或者false,默认值是false
  • IsCheckDocChange:是否检查文档改变,一般应该传true
  • IsShowUI:指明签章时是否显示以上签章设定对话框选项,默认值是true
  • signpass:设置印章的默认密码。如果指明了此参数,在签章时将不再提示用户输入印章密码
  • IsAddComment:指明签章时是否允许用户输入批注。默认值是true
  • IsBelowText:指明签章是否盖在文字下方。默认值是true

使用示例:

javascript
// 添加安全手写签名
function addSecHandSign() {
    try {
        OCX_OBJ.AddSecHandSign(
            "张三", // 签章用户名
            0, // 相对光标的位置
            0, // 相对光标的位置
            1, // 定位相对值
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            true, // 允许用户输入批注
            true // 盖在文字下方
        );
        console.log("安全手写签名添加完成");
    } catch (error) {
        console.error("添加安全手写签名失败:", error.message);
    }
}

AddSecHandSign2

语法:

javascript
AddSecHandSign2(username, [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [IsAddComment], [IsBelowText], [IsMousePos])

功能:
为文档添加通过鼠标定位的安全手写签名。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
IsAddComment可选bool是否允许用户输入批注
IsBelowText可选bool是否盖在文字下方
IsMousePos可选bool是否通过鼠标定位

返回值:
无返回值

说明:
为文档添加通过鼠标定位的安全手写签名。

使用示例:

javascript
// 添加通过鼠标定位的安全手写签名
function addSecHandSign2() {
    try {
        OCX_OBJ.AddSecHandSign2(
            "李四", // 签章用户名
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            true, // 允许用户输入批注
            true, // 盖在文字下方
            true // 通过鼠标定位
        );
        console.log("通过鼠标定位的安全手写签名添加完成");
    } catch (error) {
        console.error("添加通过鼠标定位的安全手写签名失败:", error.message);
    }
}

安全键盘批注

AddSecKeyBoardComment

语法:

javascript
AddSecKeyBoardComment(username, [left], [top], [relative], [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [IsBelowText])

功能:
为文档添加通过坐标定位的安全键盘批注。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
left可选long相对光标的位置,一般传递0
top可选long相对光标的位置,一般传递0
relative可选long定位相对值,一般传递1
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
IsBelowText可选bool是否盖在文字下方

返回值:
无返回值

说明:
为文档添加通过坐标定位的安全键盘批注。

使用示例:

javascript
// 添加安全键盘批注
function addSecKeyBoardComment() {
    try {
        OCX_OBJ.AddSecKeyBoardComment(
            "王五", // 签章用户名
            0, // 相对光标的位置
            0, // 相对光标的位置
            1, // 定位相对值
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            true // 盖在文字下方
        );
        console.log("安全键盘批注添加完成");
    } catch (error) {
        console.error("添加安全键盘批注失败:", error.message);
    }
}

AddSecKeyBoardComment2

语法:

javascript
AddSecKeyBoardComment2(username, [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [IsBelowText], [IsMousePos])

功能:
为文档添加通过鼠标定位的安全键盘批注。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
IsBelowText可选bool是否盖在文字下方
IsMousePos可选bool是否通过鼠标定位

返回值:
无返回值

说明:
为文档添加通过鼠标定位的安全键盘批注。

使用示例:

javascript
// 添加通过鼠标定位的安全键盘批注
function addSecKeyBoardComment2() {
    try {
        OCX_OBJ.AddSecKeyBoardComment2(
            "赵六", // 签章用户名
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            true, // 盖在文字下方
            true // 通过鼠标定位
        );
        console.log("通过鼠标定位的安全键盘批注添加完成");
    } catch (error) {
        console.error("添加通过鼠标定位的安全键盘批注失败:", error.message);
    }
}

安全电子印章

AddSecSignFromEkey

语法:

javascript
AddSecSignFromEkey(username, [left], [top], [relative], [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [ekeySignIndex], [IsAddComment], [IsBelowText])

功能:
从EKEY加盖通过坐标定位的安全电子印章。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
left可选long相对光标的位置,一般传递0
top可选long相对光标的位置,一般传递0
relative可选long定位相对值,一般传递1
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
ekeySignIndex可选long印章在EKEY中的索引
IsAddComment可选bool是否允许用户输入批注
IsBelowText可选bool是否盖在文字下方

返回值:
无返回值

说明:
从EKEY加盖通过坐标定位的安全电子印章。

参数说明:

  • ekeySignIndex:如果传递-1则提示EKEY列表对话框让用户选择
  • 其他参数说明同AddSecHandSign

使用示例:

javascript
// 从EKEY添加安全电子印章
function addSecSignFromEkey() {
    try {
        OCX_OBJ.AddSecSignFromEkey(
            "张三", // 签章用户名
            0, // 相对光标的位置
            0, // 相对光标的位置
            1, // 定位相对值
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            -1, // 提示EKEY列表对话框让用户选择
            true, // 允许用户输入批注
            true // 盖在文字下方
        );
        console.log("从EKEY添加安全电子印章完成");
    } catch (error) {
        console.error("从EKEY添加安全电子印章失败:", error.message);
    }
}

AddSecSignFromEkey2

语法:

javascript
AddSecSignFromEkey2(username, [PrintMode], [IsUseCertificate], [IsLocked], [IsCheckDocChange], [IsShowUI], [signpass], [ekeySignIndex], [IsAddComment], [IsBelowText], [IsMousePos])

功能:
从EKEY加盖通过鼠标定位的安全电子印章。

参数:

名称必选/可选数据类型说明
username必选string签章用户名
PrintMode可选long控制打印
IsUseCertificate可选bool是否使用证书
IsLocked可选bool是否锁定印章
IsCheckDocChange可选bool是否检查文档改变
IsShowUI可选bool是否显示签章设置对话框
signpass可选string默认密码
ekeySignIndex可选long印章在EKEY中的索引
IsAddComment可选bool是否允许用户输入批注
IsBelowText可选bool是否盖在文字下方
IsMousePos可选bool是否通过鼠标定位

返回值:
无返回值

说明:
从EKEY加盖通过鼠标定位的安全电子印章。

使用示例:

javascript
// 从EKEY添加通过鼠标定位的安全电子印章
function addSecSignFromEkey2() {
    try {
        OCX_OBJ.AddSecSignFromEkey2(
            "李四", // 签章用户名
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            -1, // 提示EKEY列表对话框让用户选择
            true, // 允许用户输入批注
            true, // 盖在文字下方
            true // 通过鼠标定位
        );
        console.log("从EKEY添加通过鼠标定位的安全电子印章完成");
    } catch (error) {
        console.error("从EKEY添加通过鼠标定位的安全电子印章失败:", error.message);
    }
}

安全电子印章管理

SetAllSecSignsForceShowGray

语法:

javascript
SetAllSecSignsForceShowGray(vbool)

功能:
设定所有安全签章强制显示灰色。

参数:

名称必选/可选数据类型说明
vbool必选bool是否强制设置印章颜色为灰色

返回值:
无返回值

说明:
设定所有安全签章强制显示灰色。

参数说明:

  • vbool:指明是否强制设置印章颜色为灰色。true:置灰;false:不置灰

使用示例:

javascript
// 设置所有安全签章强制显示灰色
function setAllSecSignsForceShowGray() {
    try {
        OCX_OBJ.SetAllSecSignsForceShowGray(true);
        console.log("所有安全签章已设置为强制显示灰色");
    } catch (error) {
        console.error("设置所有安全签章强制显示灰色失败:", error.message);
    }
}

SetAllSecSignsForcePrintMode

语法:

javascript
SetAllSecSignsForcePrintMode(vbool, lPrintMode)

功能:
设定所有安全签章的强制打印模式。

参数:

名称必选/可选数据类型说明
vbool必选bool是否强制打印模式
lPrintMode必选long强制的打印模式0-2

返回值:
无返回值

说明:
设定所有安全签章的强制打印模式。

参数说明:

  • vbool:设定值为true后,印章右键菜单的打印模式项即置灰禁止使用
  • lPrintMode:强制的打印模式,0=不打印,1=打印灰色,2=打印原始

使用示例:

javascript
// 设置所有安全签章的强制打印模式
function setAllSecSignsForcePrintMode() {
    try {
        OCX_OBJ.SetAllSecSignsForcePrintMode(true, 2);
        console.log("所有安全签章已设置为强制打印原始模式");
    } catch (error) {
        console.error("设置所有安全签章强制打印模式失败:", error.message);
    }
}

CheckSecsigns2

语法:

javascript
CheckSecsigns2()

功能:
调用签章工具栏中的"检验所有印章"按钮检查文档中的印章。

返回值:
无返回值

说明:
调用签章工具栏中的"检验所有印章"按钮检查文档中的印章。

使用示例:

javascript
// 检验所有印章
function checkSecsigns2() {
    try {
        OCX_OBJ.CheckSecsigns2();
        console.log("检验所有印章完成");
    } catch (error) {
        console.error("检验所有印章失败:", error.message);
    }
}

工具栏按钮管理

EnableClientSignButton

语法:

javascript
EnableClientSignButton(btnIndex, bEnabled)

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

参数:

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

返回值:
无返回值

说明:
启用/禁用单机版安全电子印章工具栏按钮。

参数说明:

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

使用示例:

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

方法分类总结

分类方法功能说明
系统检测IsNTKOSecSignInstalled检查安全电子印章系统是否已安装系统检测
ShowConfig2显示安全电子印章系统配置系统配置
安全手写签名AddSecHandSign添加通过坐标定位的安全手写签名坐标定位
AddSecHandSign2添加通过鼠标定位的安全手写签名鼠标定位
安全键盘批注AddSecKeyBoardComment添加通过坐标定位的安全键盘批注坐标定位
AddSecKeyBoardComment2添加通过鼠标定位的安全键盘批注鼠标定位
安全电子印章AddSecSignFromEkey从EKEY添加通过坐标定位的安全电子印章坐标定位
AddSecSignFromEkey2从EKEY添加通过鼠标定位的安全电子印章鼠标定位
印章管理SetAllSecSignsForceShowGray设置所有安全签章强制显示灰色印章管理
SetAllSecSignsForcePrintMode设置所有安全签章的强制打印模式印章管理
CheckSecsigns2检验所有印章印章管理
工具栏管理EnableClientSignButton启用/禁用安全电子印章工具栏按钮工具栏管理

使用流程

1. 检查系统安装

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

2. 配置系统设置

javascript
// 配置安全电子印章系统
function configureSecSignSystem() {
    try {
        // 显示系统配置窗口
        OCX_OBJ.ShowConfig2();
        
        // 设置自动锁定文档
        OCX_OBJ.IsAutoLockOnSecSign = true;
        
        // 设置允许在被保护的文档上盖章
        OCX_OBJ.IsAllowAddSignOnLockedDoc = true;
        
        console.log("安全电子印章系统配置完成");
    } catch (error) {
        console.error("配置安全电子印章系统失败:", error.message);
    }
}

3. 添加安全手写签名

javascript
// 添加安全手写签名
function addSecHandSign() {
    try {
        // 添加通过坐标定位的安全手写签名
        OCX_OBJ.AddSecHandSign(
            "张三", // 签章用户名
            0, // 相对光标的位置
            0, // 相对光标的位置
            1, // 定位相对值
            2, // 打印原始
            false, // 不使用证书
            false, // 不锁定印章
            true, // 检查文档改变
            true, // 显示签章设置对话框
            "", // 默认密码
            true, // 允许用户输入批注
            true // 盖在文字下方
        );
        
        console.log("安全手写签名添加完成");
    } catch (error) {
        console.error("添加安全手写签名失败:", error.message);
    }
}

完整示例

1. 基础安全电子印章使用

javascript
// 基础安全电子印章使用示例
function basicSecSignUsage() {
    try {
        // 检查系统是否已安装
        if (!OCX_OBJ.IsNTKOSecSignInstalled()) {
            console.log("安全电子印章系统未安装");
            return;
        }
        
        // 添加安全手写签名
        OCX_OBJ.AddSecHandSign("张三", 0, 0, 1, 2, false, false, true, true, "", true, true);
        
        // 添加安全键盘批注
        OCX_OBJ.AddSecKeyBoardComment("李四", 0, 0, 1, 2, false, false, true, true, "", true);
        
        // 从EKEY添加安全电子印章
        OCX_OBJ.AddSecSignFromEkey("王五", 0, 0, 1, 2, false, false, true, true, "", -1, true, true);
        
        console.log("基础安全电子印章使用完成");
    } catch (error) {
        console.error("基础安全电子印章使用失败:", error.message);
    }
}

2. 高级安全电子印章管理

javascript
// 高级安全电子印章管理示例
function advancedSecSignManagement() {
    try {
        // 设置所有安全签章强制显示灰色
        OCX_OBJ.SetAllSecSignsForceShowGray(true);
        
        // 设置所有安全签章的强制打印模式
        OCX_OBJ.SetAllSecSignsForcePrintMode(true, 2);
        
        // 检验所有印章
        OCX_OBJ.CheckSecsigns2();
        
        // 启用/禁用工具栏按钮
        OCX_OBJ.EnableClientSignButton(1, true); // 启用手写签名按钮
        OCX_OBJ.EnableClientSignButton(2, true); // 启用电子印章按钮
        OCX_OBJ.EnableClientSignButton(3, false); // 禁用校核章按钮
        
        console.log("高级安全电子印章管理完成");
    } catch (error) {
        console.error("高级安全电子印章管理失败:", error.message);
    }
}

3. 安全电子印章质量控制

javascript
// 安全电子印章质量控制示例
function secSignQualityControl() {
    try {
        // 设置自动锁定文档
        OCX_OBJ.IsAutoLockOnSecSign = true;
        
        // 设置允许在被保护的文档上盖章
        OCX_OBJ.IsAllowAddSignOnLockedDoc = true;
        
        // 设置所有安全签章强制显示灰色
        OCX_OBJ.SetAllSecSignsForceShowGray(false);
        
        // 设置所有安全签章的强制打印模式
        OCX_OBJ.SetAllSecSignsForcePrintMode(true, 1);
        
        console.log("安全电子印章质量控制完成");
    } catch (error) {
        console.error("安全电子印章质量控制失败:", error.message);
    }
}

注意事项

  1. 版本要求:此方法是增强版及以上版本所有
  2. 系统安装:需要安装NTKO安全签名印章系统
  3. 产品购买:安全电子印章系统是单独的产品,需要单独购买
  4. 方法限制:除了IsNTKOSecSignInstalled方法外,只有在本机安装了NTKO安全签名印章系统才可以使用
  5. 工具栏限制:某些属性仅支持通过文档控件盖章方法有效,工具栏盖章按钮及对应方法无效
  6. 参数设置:合理设置各种参数以确保印章功能正常
  7. 错误处理:实现完善的错误处理机制

错误处理

javascript
// 安全电子印章操作错误处理
function handleSecSignError(operation, error) {
    console.error("安全电子印章操作失败:", operation, error.message);
    
    switch(operation) {
        case 'IsNTKOSecSignInstalled':
            console.log("检查安全电子印章系统失败,请检查:");
            console.log("1. 系统是否已安装");
            console.log("2. 控件版本是否支持");
            break;
        case 'AddSecHandSign':
            console.log("添加安全手写签名失败,请检查:");
            console.log("1. 安全电子印章系统是否已安装");
            console.log("2. 参数设置是否正确");
            console.log("3. 用户权限是否足够");
            break;
        case 'AddSecSignFromEkey':
            console.log("从EKEY添加安全电子印章失败,请检查:");
            console.log("1. EKEY是否连接");
            console.log("2. 印章索引是否正确");
            console.log("3. 用户权限是否足够");
            break;
        default:
            console.log("未知安全电子印章操作失败");
    }
}

最佳实践

1. 安全电子印章使用最佳实践

javascript
// 安全电子印章使用最佳实践
function secSignUsageBestPractice() {
    try {
        // 检查系统是否已安装
        if (!OCX_OBJ.IsNTKOSecSignInstalled()) {
            console.log("安全电子印章系统未安装,请先安装系统");
            return;
        }
        
        // 配置系统设置
        OCX_OBJ.IsAutoLockOnSecSign = true;
        OCX_OBJ.IsAllowAddSignOnLockedDoc = true;
        
        // 添加安全手写签名
        function addSecHandSignWithErrorHandling() {
            try {
                OCX_OBJ.AddSecHandSign("张三", 0, 0, 1, 2, false, false, true, true, "", true, true);
                console.log("安全手写签名添加成功");
            } catch (error) {
                handleSecSignError('AddSecHandSign', error);
            }
        }
        
        // 执行安全手写签名添加
        addSecHandSignWithErrorHandling();
        
    } catch (error) {
        console.error("安全电子印章使用最佳实践失败:", error.message);
    }
}

2. 安全电子印章管理最佳实践

javascript
// 安全电子印章管理最佳实践
function secSignManagementBestPractice() {
    try {
        // 安全电子印章管理配置
        var secSignConfig = {
            autoLock: true,
            allowAddSignOnLocked: true,
            forceShowGray: false,
            forcePrintMode: true,
            printMode: 2
        };
        
        // 应用安全电子印章管理配置
        function applySecSignConfig() {
            try {
                OCX_OBJ.IsAutoLockOnSecSign = secSignConfig.autoLock;
                OCX_OBJ.IsAllowAddSignOnLockedDoc = secSignConfig.allowAddSignOnLocked;
                OCX_OBJ.SetAllSecSignsForceShowGray(secSignConfig.forceShowGray);
                OCX_OBJ.SetAllSecSignsForcePrintMode(secSignConfig.forcePrintMode, secSignConfig.printMode);
                
                console.log("安全电子印章管理配置应用成功");
            } catch (error) {
                console.error("应用安全电子印章管理配置失败:", error.message);
            }
        }
        
        // 应用配置
        applySecSignConfig();
        
    } catch (error) {
        console.error("安全电子印章管理最佳实践失败:", error.message);
    }
}

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

javascript
// 安全电子印章质量控制最佳实践
function secSignQualityControlBestPractice() {
    try {
        // 安全电子印章质量控制
        function controlSecSignQuality() {
            try {
                // 设置质量控制参数
                OCX_OBJ.IsAutoLockOnSecSign = true;
                OCX_OBJ.IsAllowAddSignOnLockedDoc = true;
                OCX_OBJ.SetAllSecSignsForceShowGray(false);
                OCX_OBJ.SetAllSecSignsForcePrintMode(true, 1);
                
                // 检验所有印章
                OCX_OBJ.CheckSecsigns2();
                
                console.log("安全电子印章质量控制完成");
            } catch (error) {
                console.error("安全电子印章质量控制失败:", error.message);
            }
        }
        
        // 执行质量控制
        controlSecSignQuality();
        
    } catch (error) {
        console.error("安全电子印章质量控制最佳实践失败:", error.message);
    }
}

技术要点

  1. 版本兼容性:确保使用增强版及以上版本
  2. 系统安装:需要安装NTKO安全签名印章系统
  3. 产品购买:安全电子印章系统是单独的产品,需要单独购买
  4. 方法限制:除了IsNTKOSecSignInstalled方法外,只有在本机安装了NTKO安全签名印章系统才可以使用
  5. 工具栏限制:某些属性仅支持通过文档控件盖章方法有效,工具栏盖章按钮及对应方法无效
  6. 参数设置:合理设置各种参数以确保印章功能正常
  7. 错误处理:完善的错误处理机制

总结

调用安全电子印章单机版的方法为软航OFFICE文档控件提供了强大的安全电子印章管理能力。通过IsNTKOSecSignInstalled方法可以检查系统是否已安装,通过ShowConfig2方法可以配置系统设置,通过AddSecHandSign、AddSecKeyBoardComment、AddSecSignFromEkey等方法可以添加各种类型的安全电子印章,通过SetAllSecSignsForceShowGray、SetAllSecSignsForcePrintMode、CheckSecsigns2等方法可以管理印章,通过EnableClientSignButton方法可以管理工具栏按钮,为开发者提供了灵活的安全电子印章管理功能,大大提升了控件的安全电子印章处理能力和用户体验。