Appearance
调用安全电子印章单机版的方法
系统检测和配置
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,默认值是falseIsLocked
:是否锁定印章,true或者false,默认值是falseIsCheckDocChange
:是否检查文档改变,一般应该传trueIsShowUI
:指明签章时是否显示以上签章设定对话框选项,默认值是truesignpass
:设置印章的默认密码。如果指明了此参数,在签章时将不再提示用户输入印章密码IsAddComment
:指明签章时是否允许用户输入批注。默认值是trueIsBelowText
:指明签章是否盖在文字下方。默认值是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);
}
}
注意事项
- 版本要求:此方法是增强版及以上版本所有
- 系统安装:需要安装NTKO安全签名印章系统
- 产品购买:安全电子印章系统是单独的产品,需要单独购买
- 方法限制:除了IsNTKOSecSignInstalled方法外,只有在本机安装了NTKO安全签名印章系统才可以使用
- 工具栏限制:某些属性仅支持通过文档控件盖章方法有效,工具栏盖章按钮及对应方法无效
- 参数设置:合理设置各种参数以确保印章功能正常
- 错误处理:实现完善的错误处理机制
错误处理
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);
}
}
技术要点
- 版本兼容性:确保使用增强版及以上版本
- 系统安装:需要安装NTKO安全签名印章系统
- 产品购买:安全电子印章系统是单独的产品,需要单独购买
- 方法限制:除了IsNTKOSecSignInstalled方法外,只有在本机安装了NTKO安全签名印章系统才可以使用
- 工具栏限制:某些属性仅支持通过文档控件盖章方法有效,工具栏盖章按钮及对应方法无效
- 参数设置:合理设置各种参数以确保印章功能正常
- 错误处理:完善的错误处理机制
总结
调用安全电子印章单机版的方法为软航OFFICE文档控件提供了强大的安全电子印章管理能力。通过IsNTKOSecSignInstalled方法可以检查系统是否已安装,通过ShowConfig2方法可以配置系统设置,通过AddSecHandSign、AddSecKeyBoardComment、AddSecSignFromEkey等方法可以添加各种类型的安全电子印章,通过SetAllSecSignsForceShowGray、SetAllSecSignsForcePrintMode、CheckSecsigns2等方法可以管理印章,通过EnableClientSignButton方法可以管理工具栏按钮,为开发者提供了灵活的安全电子印章管理功能,大大提升了控件的安全电子印章处理能力和用户体验。