Appearance
文档通用方法
文档保护相关方法
SetReadOnly
语法:
javascript
SetReadOnly(vbool, [password], [ProtectOption], [ProtectType])功能:
设置文档为只读/可写。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| vbool | 必选 | bool | 是否只读 |
| password | 可选 | string | 保护密码 |
| ProtectOption | 可选 | long | 保护选项 |
| ProtectType | 可选 | long | 保护模式类型 |
返回值:
无返回值
说明:
设置文档为只读/可写,即文档保护,不可编辑的状态。
参数说明:
ProtectType:对应WORD VBA接口Protect方法第一个参数,即启用保护模式后仅允许做本参数允许的操作- 0:修订
- 1:批注
- 2:填写窗体
- 3:只读
使用示例:
javascript
// 设置文档为只读,密码为123456
OCX_OBJ.SetReadOnly(true, "123456");
// 设置文档为可写
OCX_OBJ.SetReadOnly(false);控件激活相关方法
Activate
语法:
javascript
Activate([active])功能:
改变当前控件文档的活动状态。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| active | 可选 | bool | 是否激活 |
返回值:
无返回值
说明:
改变当前控件文档的活动状态。缺省值为true,代表激活控件。
使用场景:
- 当双击Excel单元格时,光标处于单元格编辑状态,此时,无法调用Excel的方法或者属性。这时可以用Activate(false)来使当前控件文档处于非活动状态,就可以调用Excel的属性或者方法了。
- 当在同一个web页面使用多个控件时,当需要使用程序操作某个文档的时候需要使用Activate(true)来激活需要操作的文档。
使用示例:
javascript
// 激活控件
OCX_OBJ.Activate(true);
// 取消激活控件
OCX_OBJ.Activate(false);工具栏控制相关方法
ShowCommandBar
语法:
javascript
ShowCommandBar(CommandbarIndexOrName, IsShow)功能:
显示或者隐藏指定的工具栏。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| CommandbarIndexOrName | 必选 | variant | 工具栏索引号或者名称 |
| IsShow | 必选 | bool | 是否显示 |
返回值:
无返回值
说明:
显示或者隐藏指定的工具栏。请参考OFFICE本身编程手册的Commandbars集合。
使用示例:
javascript
// 显示工具栏
OCX_OBJ.ShowCommandBar("Standard", true);
// 隐藏工具栏
OCX_OBJ.ShowCommandBar("Standard", false);对话框相关方法
ShowDialog
语法:
javascript
ShowDialog(DlgType)功能:
显示一个指定类型的对话框和用户交互。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| DlgType | 必选 | ShowDialogType | 对话框类型 |
返回值:
无返回值
说明:
显示一个指定类型的对话框和用户交互,参数为对话框类型。
对话框类型对照表:
| 值 | 对话框类型 | 说明 |
|---|---|---|
| 0 | 新建对象 | 新建文档对话框 |
| 1 | 打开 | 打开文档对话框 |
| 2 | 保存 | 保存文档对话框 |
| 3 | 另存为 | 另存为对话框 |
| 4 | 打印 | 打印对话框 |
| 5 | 页面设置 | 页面设置对话框 |
| 6 | 文件属性 | 文件属性对话框 |
使用示例:
javascript
// 显示打开对话框
OCX_OBJ.ShowDialog(1);
// 显示保存对话框
OCX_OBJ.ShowDialog(2);打印相关方法
PrintOut
语法:
javascript
PrintOut([PromptToSelectPrinter])功能:
打印当前文档。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| PromptToSelectPrinter | 可选 | bool | 是否选择打印机 |
返回值:
无返回值
说明:
打印当前文档。可选参数是是否提示用户选择打印机,缺省值为false,即不选择打印机,用当前默认打印机直接打印。
使用示例:
javascript
// 使用默认打印机打印
OCX_OBJ.PrintOut();
// 提示用户选择打印机
OCX_OBJ.PrintOut(true);PrintPreview
语法:
javascript
PrintPreview()功能:
显示打印预览视图。
返回值:
无返回值
说明:
显示打印预览视图。
使用示例:
javascript
// 显示打印预览
OCX_OBJ.PrintPreview();ExitPrintPreview
语法:
javascript
ExitPrintPreview()功能:
退出打印预览视图。
返回值:
无返回值
说明:
退出打印预览视图。
使用示例:
javascript
// 退出打印预览
OCX_OBJ.ExitPrintPreview();文档操作相关方法
Close
语法:
javascript
Close()功能:
关闭当前文档。
返回值:
无返回值
说明:
关闭当前文档。
使用示例:
javascript
// 关闭当前文档
OCX_OBJ.Close();版本检测相关方法
GetOfficeVer
语法:
javascript
GetOfficeVer()功能:
获取得客户机当前安装的OFFICE的版本。
返回值:
数值型。返回值的含义如下:
| 值 | 版本 | 说明 |
|---|---|---|
| 6 | Office95 | Office 95版本 |
| 8 | Office97 | Office 97版本 |
| 9 | Office2000 | Office 2000版本 |
| 10 | OfficeXP | Office XP版本 |
| 11 | Office2003 | Office 2003版本 |
| 12 | Office2007 | Office 2007版本 |
| 14 | Office2010 | Office 2010版本 |
| 15 | Office2013 | Office 2013版本 |
| 16 | Office2016 | Office 2016版本 |
| 100 | 错误 | 本机没有安装OFFICE |
说明:
获取得客户机当前安装的OFFICE的版本。此属性可用于保存为兼容格式之前判断。
使用示例:
javascript
// 获取Office版本
var officeVer = OCX_OBJ.GetOfficeVer();
console.log("Office版本:", officeVer);
// 根据版本判断兼容性
if (officeVer >= 12) {
console.log("支持Office 2007及以上版本");
} else if (officeVer >= 11) {
console.log("支持Office 2003版本");
} else {
console.log("Office版本过低或未安装");
}GetOfficeSpVer
语法:
javascript
GetOfficeSpVer()功能:
获取Office SP版本。
返回值:
数值型。返回值的含义如下:
- 对于2003,返回值>8000是sp3,>7000是sp2,>6000是sp1,>5000是原始版本
- 对于2007,返回值>6400是sp2,>6200是sp1,>4000是原始版本
说明:
获取Office SP版本。
使用示例:
javascript
// 获取Office SP版本
var spVer = OCX_OBJ.GetOfficeSpVer();
console.log("Office SP版本:", spVer);GetOfficeBinaryBitType
语法:
javascript
GetOfficeBinaryBitType()功能:
获取Office的二进制位数。
返回值:
数值型。返回值的含义如下:
- 0 - 没有安装OFFICE
- 1 – 32位
- 2 – 64位
说明:
获取Office的二进制位数。
使用示例:
javascript
// 获取Office位数
var bitType = OCX_OBJ.GetOfficeBinaryBitType();
if (bitType === 1) {
console.log("32位Office");
} else if (bitType === 2) {
console.log("64位Office");
} else {
console.log("未安装Office");
}GetWPSVer
语法:
javascript
GetWPSVer()功能:
获得客户机当前安装的WPS版本。
返回值:
数值型。返回值的含义如下:
| 值 | 版本 | 说明 |
|---|---|---|
| 6 | WPS2005/2007/2012 | WPS 2005、2007或2012版本 |
| 9 | WPS2013/2016 | WPS 2013或2016版本 |
| 100 | 错误 | 本机没有安装WPS |
说明:
获得客户机当前安装的WPS版本。
使用示例:
javascript
// 获取WPS版本
var wpsVer = OCX_OBJ.GetWPSVer();
console.log("WPS版本:", wpsVer);GetWPSIsProfessinalVer
语法:
javascript
GetWPSIsProfessinalVer()功能:
判断客户机当前安装的WPS是否是专业版本。
返回值:
布尔值。
说明:
判断客户机当前安装的WPS是否是专业版本。
使用示例:
javascript
// 判断WPS是否为专业版
var isPro = OCX_OBJ.GetWPSIsProfessinalVer();
if (isPro) {
console.log("WPS专业版");
} else {
console.log("WPS个人版");
}GetProductVerString
语法:
javascript
GetProductVerString()功能:
获得当前安装的NTKO OFFICE文档控件的版本。
返回值:
String型字符串。
说明:
获得当前安装的NTKO OFFICE文档控件的版本。
使用示例:
javascript
// 获取控件版本
var controlVer = OCX_OBJ.GetProductVerString();
console.log("控件版本:", controlVer);GetNTKOSecSignVerString
语法:
javascript
GetNTKOSecSignVerString()功能:
获得当前安装的NTKO安全签章系统的版本。
返回值:
String型字符串。
说明:
获得当前安装的NTKO安全签章系统的版本。
使用示例:
javascript
// 获取安全签章系统版本
var secSignVer = OCX_OBJ.GetNTKOSecSignVerString();
console.log("安全签章系统版本:", secSignVer);消息对话框相关方法
ShowTipMessage
语法:
javascript
ShowTipMessage(Caption, Text, [isError])功能:
显示一个模式对话框。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| Caption | 必选 | string | 对话框的标题 |
| Text | 必选 | string | 对话框的文本 |
| isError | 可选 | bool | 是否是错误信息 |
返回值:
无返回值
说明:
显示一个模式对话框。当控件处于全屏状态时,ALERT的提示框无法显示出来,可以用本方法来作为弹出提示框。
使用示例:
javascript
// 显示提示信息
OCX_OBJ.ShowTipMessage("提示", "操作成功完成");
// 显示错误信息
OCX_OBJ.ShowTipMessage("错误", "操作失败", true);ShowConfirmMessage
语法:
javascript
ShowConfirmMessage(Caption, Text, [IsError], [IsTopMost])功能:
弹出自定义的确认对话框。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| Caption | 必选 | string | 对话框的标题 |
| Text | 必选 | string | 对话框的文本 |
| IsError | 可选 | bool | 是否是错误信息 |
| IsTopMost | 可选 | bool | 对话框是否置顶 |
返回值:
布尔型。
说明:
该方法可以弹出一个自定义的确认对话框,并可以返回确定或取消的布尔值。开发人员可以通过返回值来做下一步的逻辑操作。
使用示例:
javascript
// 显示确认对话框
var isAccept = TANGER_OCX_OBJ.ShowConfirmMessage("提示", "是否要接受修订", false, true);
if (isAccept) {
TANGER_OCX_OBJ.ActiveDocument.AcceptAllRevisions();
}ShowUIMessage
语法:
javascript
ShowUIMessage(bstrMes)功能:
弹出自定义的齿轮转动进度信息对话框。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| bstrMes | 必选 | string | 消息字符串 |
返回值:
无返回值
说明:
该方法需要结合CloseUIMessage方法使用。可以用在通过代码批量或长时间处理某项任务时弹出这个对话框,增强用户体验。
使用示例:
javascript
// 显示进度对话框
ocx.ShowUIMessage("正在提交数据,请稍候");CloseUIMessage
语法:
javascript
CloseUIMessage()功能:
关闭自定义的齿轮转动进度信息对话框。
返回值:
无返回值
说明:
该方法需要结合ShowUIMessage方法使用。
使用示例:
javascript
// 关闭进度对话框
ocx.CloseUIMessage();PDF转换相关方法
IsPDFCreatorInstalled
语法:
javascript
IsPDFCreatorInstalled()功能:
该方法用来判断本机是否安装了PDFCreator转换器。
返回值:
布尔型。true代表有安装,false代表没有安装。
说明:
可以结合保存为PDF文件的方法使用。在执行SaveAsPDFFile、PublishAsPDFToURL方法前,可以通过本方法先判断是否有安装PDFCreator,返回true就可以继续执行保存操作。
使用示例:
javascript
// 检查PDFCreator是否安装
if (OCX_OBJ.IsPDFCreatorInstalled()) {
OCX_OBJ.SaveAsPDFFile("D:\\document.pdf");
} else {
console.log("请先安装PDFCreator");
}SetPDFConvertParams
语法:
javascript
SetPDFConvertParams(IsBackGroundPrint, IsCustomUI, [lConvertType], [IPage], [bPrintRevision], [bPrintGrayscale])功能:
设置PDF转换的时候的参数。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| IsBackGroundPrint | 必选 | bool | 是否使用后台打印 |
| IsCustomUI | 必选 | bool | 是否使用正在打印的提示 |
| lConvertType | 可选 | long | 指定转换的文件类型 |
| IPage | 可选 | long | 指定转换的页码 |
| bPrintRevision | 可选 | bool | 是否打印修订痕迹 |
| bPrintGrayscale | 可选 | bool | 是否灰度打印 |
返回值:
无返回值
说明:
设置PDF转换的时候的参数。可以用于将文档通过PdfCreator转换成图片格式。
参数说明:
IsBackGroundPrint:是否使用后台打印,如果是前台打印就不能设置。默认是前台打印lConvertType:指定转换的文件类型,默认情况下是0即为pdf、1:PNG、2:JPEGIPage:将指定的页码转换为图片,仅当lConvertType值为1或者2时有效。如果本参数传0,则将所有页转换为图片bPrintRevision:默认值为true,在转换时允许保留修订痕迹bPrintGrayscale:默认值为false,设为true后,文档内容将以灰色转换
使用示例:
javascript
// 设置PDF转换参数
obj.SetPDFConvertParams(false, false, 2, 0, false, true);
obj.SaveAsPDFFile("D:\\ntko.jpg");SetPDFCreateUpdateEnable
语法:
javascript
SetPDFCreateUpdateEnable(IsEnable)功能:
设置PDFCreator是否升级。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| IsEnable | 可选 | bool | 是否允许升级 |
返回值:
无返回值
说明:
设置PDFCreator是否升级。true代表允许升级,false代表不允许升级。
使用示例:
javascript
// 禁止PDFCreator升级
OCX_OBJ.SetPDFCreateUpdateEnable(false);打印机相关方法
IsDefaultPriterVirtual
语法:
javascript
IsDefaultPriterVirtual()功能:
判断默认打印机是否虚拟打印机。
返回值:
布尔值。
说明:
通过端口判断默认打印机是否虚拟打印机。如果端口名称包含LPT、COM、USB、DOT就认为是真实打印机,否则就是虚拟打印机。
使用示例:
javascript
// 检查默认打印机是否为虚拟打印机
var isVirtual = OCX_OBJ.IsDefaultPriterVirtual();
if (isVirtual) {
console.log("默认打印机是虚拟打印机");
} else {
console.log("默认打印机是真实打印机");
}AddAllowedPrinter
语法:
javascript
AddAllowedPrinter(printerDriverFirstName)功能:
添加指定的打印机到可用打印设备列表。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| printerDriverFirstName | 必选 | string | 打印驱动名开头字符串 |
返回值:
无返回值
说明:
需要结合IsPrintToRealPrinterOnly属性使用,当IsPrintToRealPrinterOnly属性设置为true时,除了控件默认的八个主流品牌打印设备(HP、CANON、ESPON、LENOVO、BROTHER、TOSHIBA、PANASONIC、SAMSUNG)外,如果还需要添加其他可允许打印的打印设备,可以通过此方法进行追加。
使用示例:
javascript
// 将PDFCreator加入可用打印设备列表
ocx.IsPrintToRealPrinterOnly = bRealPrinterOnly;
ocx.AddAllowedPrinter("PDFCreator");界面控制相关方法
IsShowEmail
语法:
javascript
IsShowEmail(index, isShow)功能:
设置OFFICE快速访问工具栏中"电子邮件"按钮是否显示。
参数:
| 名称 | 必选/可选 | 数据类型 | 说明 |
|---|---|---|---|
| index | 必选 | long | OFFICE应用程序代码 |
| isShow | 必选 | bool | 是否显示 |
返回值:
无返回值
说明:
第一个参数值:1-WORD;2-EXCEL;3-PowerPoint。
使用示例:
javascript
// 隐藏WORD快速访问工具栏的"电子邮件"按钮
ocx.IsShowEmail(1, false);
ocx.CreateNew("word.document");截屏相关方法
CapturePicAsTempFile
语法:
javascript
CapturePicAsTempFile()功能:
对当前控件界面进行截屏并生成临时图片文件。
返回值:
String型字符串
说明:
本方法主要解决在一些UI框架下,需要弹出遮罩层信息窗口却被控件窗体挡住的情况。通过使用本方法,可以实现在弹出遮罩层前,先将控件界面截图,然后通过IMG标签将方法生成的临时文件在页面上显示出来,同时将控件大小置为1px,这样就可以避免控件挡住遮罩层的问题。
使用示例:
javascript
function HideControl() {
$("#divImg").attr("src", "");
var fn = TANGER_OCX_OBJ.CapturePicAsTempFile();
$("#divImg").attr("src", "file:///" + fn);
$("#divImg").show();
TANGER_OCX_OBJ.width = '1px';
TANGER_OCX_OBJ.height = '1px';
}
function ShowControl() {
$("#divImg").attr("src", "");
$("#divImg").hide();
TANGER_OCX_OBJ.Activate(true);
TANGER_OCX_OBJ.ClearCapturePicTempFile();
TANGER_OCX_OBJ.width = '100%';
TANGER_OCX_OBJ.height = '800px';
}ClearCapturePicTempFile
语法:
javascript
ClearCapturePicTempFile()功能:
清除当前控件界面截屏生成的临时图片文件。
返回值:
无返回值
说明:
用于清除当前控件界面截屏生成的临时图片文件。用法详见CapturePicAsTempFile方法的介绍。
使用示例:
javascript
// 清除截屏临时文件
OCX_OBJ.ClearCapturePicTempFile();方法分类总结
| 分类 | 方法 | 功能 | 说明 |
|---|---|---|---|
| 文档保护 | SetReadOnly | 设置文档只读/可写 | 文档保护功能 |
| 控件激活 | Activate | 改变控件活动状态 | 控件激活控制 |
| 工具栏控制 | ShowCommandBar | 显示/隐藏工具栏 | 工具栏管理 |
| 对话框 | ShowDialog | 显示指定对话框 | 对话框控制 |
| 打印功能 | PrintOut | 打印当前文档 | 文档打印 |
PrintPreview | 显示打印预览 | 打印预览 | |
ExitPrintPreview | 退出打印预览 | 退出预览 | |
| 文档操作 | Close | 关闭当前文档 | 文档关闭 |
| 版本检测 | GetOfficeVer | 获取Office版本 | 版本检测 |
GetOfficeSpVer | 获取Office SP版本 | SP版本检测 | |
GetOfficeBinaryBitType | 获取Office位数 | 位数检测 | |
GetWPSVer | 获取WPS版本 | WPS版本检测 | |
GetWPSIsProfessinalVer | 判断WPS专业版 | WPS版本判断 | |
GetProductVerString | 获取控件版本 | 控件版本检测 | |
GetNTKOSecSignVerString | 获取签章系统版本 | 签章系统版本 | |
| 消息对话框 | ShowTipMessage | 显示提示对话框 | 消息提示 |
ShowConfirmMessage | 显示确认对话框 | 确认对话框 | |
ShowUIMessage | 显示进度对话框 | 进度提示 | |
CloseUIMessage | 关闭进度对话框 | 关闭进度 | |
| PDF转换 | IsPDFCreatorInstalled | 检查PDFCreator安装 | PDF转换检查 |
SetPDFConvertParams | 设置PDF转换参数 | PDF转换配置 | |
SetPDFCreateUpdateEnable | 设置PDFCreator升级 | PDFCreator升级控制 | |
| 打印机 | IsDefaultPriterVirtual | 判断默认打印机类型 | 打印机检测 |
AddAllowedPrinter | 添加允许的打印机 | 打印机管理 | |
| 界面控制 | IsShowEmail | 设置邮件按钮显示 | 界面控制 |
| 截屏功能 | CapturePicAsTempFile | 截屏生成临时文件 | 截屏功能 |
ClearCapturePicTempFile | 清除截屏临时文件 | 截屏清理 |
使用流程
1. 文档处理流程
javascript
// 文档处理流程
function processDocument() {
try {
// 1. 激活控件
OCX_OBJ.Activate(true);
// 2. 检查Office版本
var officeVer = OCX_OBJ.GetOfficeVer();
console.log("Office版本:", officeVer);
// 3. 设置文档保护
OCX_OBJ.SetReadOnly(true, "123456");
// 4. 显示打印预览
OCX_OBJ.PrintPreview();
console.log("文档处理完成");
} catch (error) {
console.error("文档处理失败:", error.message);
}
}2. 版本检测流程
javascript
// 版本检测流程
function checkVersions() {
try {
// 检查Office版本
var officeVer = OCX_OBJ.GetOfficeVer();
var officeSpVer = OCX_OBJ.GetOfficeSpVer();
var officeBitType = OCX_OBJ.GetOfficeBinaryBitType();
console.log("Office版本:", officeVer);
console.log("Office SP版本:", officeSpVer);
console.log("Office位数:", officeBitType);
// 检查WPS版本
var wpsVer = OCX_OBJ.GetWPSVer();
var isWPSPro = OCX_OBJ.GetWPSIsProfessinalVer();
console.log("WPS版本:", wpsVer);
console.log("WPS专业版:", isWPSPro);
// 检查控件版本
var controlVer = OCX_OBJ.GetProductVerString();
var secSignVer = OCX_OBJ.GetNTKOSecSignVerString();
console.log("控件版本:", controlVer);
console.log("签章系统版本:", secSignVer);
} catch (error) {
console.error("版本检测失败:", error.message);
}
}3. PDF转换流程
javascript
// PDF转换流程
function convertToPDF() {
try {
// 检查PDFCreator是否安装
if (OCX_OBJ.IsPDFCreatorInstalled()) {
// 设置PDF转换参数
OCX_OBJ.SetPDFConvertParams(false, false, 0, 0, true, false);
// 保存为PDF
OCX_OBJ.SaveAsPDFFile("D:\\document.pdf");
console.log("PDF转换完成");
} else {
console.log("请先安装PDFCreator");
}
} catch (error) {
console.error("PDF转换失败:", error.message);
}
}注意事项
- 版本兼容性:某些方法需要特定版本的Office或WPS支持
- 权限要求:某些功能可能需要特定的权限设置
- 依赖软件:PDF转换功能需要安装PDFCreator
- 错误处理:实现完善的错误处理机制
- 参数格式:确保参数格式正确
- 返回值处理:正确处理方法的返回值
- 资源清理:及时清理临时文件和资源
错误处理
javascript
// 通用方法错误处理
function handleCommonMethodError(operation, error) {
console.error("通用方法操作失败:", operation, error.message);
switch(operation) {
case 'SetReadOnly':
console.log("文档保护设置失败,请检查:");
console.log("1. 文档是否已打开");
console.log("2. 密码参数是否正确");
console.log("3. 保护类型是否有效");
break;
case 'PrintOut':
console.log("打印失败,请检查:");
console.log("1. 打印机是否可用");
console.log("2. 文档是否已打开");
console.log("3. 打印权限是否足够");
break;
case 'GetOfficeVer':
console.log("版本检测失败,请检查:");
console.log("1. Office是否已安装");
console.log("2. 控件是否正常工作");
console.log("3. 权限是否足够");
break;
default:
console.log("未知通用方法操作失败");
}
}最佳实践
1. 版本检测最佳实践
javascript
// 版本检测最佳实践
function versionDetectionBestPractice() {
try {
// 检查Office版本
var officeVer = OCX_OBJ.GetOfficeVer();
if (officeVer === 100) {
console.log("未安装Office");
return false;
}
// 检查Office位数
var bitType = OCX_OBJ.GetOfficeBinaryBitType();
console.log("Office位数:", bitType === 1 ? "32位" : "64位");
// 检查WPS版本
var wpsVer = OCX_OBJ.GetWPSVer();
if (wpsVer !== 100) {
var isWPSPro = OCX_OBJ.GetWPSIsProfessinalVer();
console.log("WPS版本:", wpsVer, isWPSPro ? "专业版" : "个人版");
}
return true;
} catch (error) {
console.error("版本检测失败:", error.message);
return false;
}
}2. 文档保护最佳实践
javascript
// 文档保护最佳实践
function documentProtectionBestPractice() {
try {
// 设置文档保护
OCX_OBJ.SetReadOnly(true, "123456", 0, 3);
// 显示确认对话框
var isConfirm = OCX_OBJ.ShowConfirmMessage("确认", "文档已设置为只读,是否继续?");
if (isConfirm) {
console.log("文档保护设置成功");
} else {
// 取消保护
OCX_OBJ.SetReadOnly(false);
console.log("文档保护已取消");
}
} catch (error) {
console.error("文档保护失败:", error.message);
}
}3. 截屏功能最佳实践
javascript
// 截屏功能最佳实践
function screenshotBestPractice() {
try {
// 截屏并显示
var tempFile = OCX_OBJ.CapturePicAsTempFile();
document.getElementById("screenshot").src = "file:///" + tempFile;
// 隐藏控件
OCX_OBJ.width = '1px';
OCX_OBJ.height = '1px';
// 显示遮罩层
showOverlay();
// 恢复控件
setTimeout(function() {
OCX_OBJ.width = '100%';
OCX_OBJ.height = '800px';
OCX_OBJ.ClearCapturePicTempFile();
hideOverlay();
}, 3000);
} catch (error) {
console.error("截屏功能失败:", error.message);
}
}技术要点
- 版本兼容性:确保方法在目标版本中可用
- 参数验证:验证输入参数的有效性
- 错误处理:实现完善的错误处理机制
- 资源管理:及时清理临时资源
- 权限控制:确保有足够的权限执行操作
- 返回值处理:正确处理方法的返回值
- 异步操作:处理异步操作的结果
总结
文档通用方法为软航OFFICE文档控件提供了丰富的文档处理、版本检测、消息提示、PDF转换、打印控制等功能。这些方法涵盖了文档处理的各个方面,为开发者提供了完整的文档操作能力,大大提升了控件的实用性和易用性。