点聚WebOffice开发接口SDK及其开发指南.docx
- 文档编号:5309760
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:40
- 大小:35.14KB
点聚WebOffice开发接口SDK及其开发指南.docx
《点聚WebOffice开发接口SDK及其开发指南.docx》由会员分享,可在线阅读,更多相关《点聚WebOffice开发接口SDK及其开发指南.docx(40页珍藏版)》请在冰豆网上搜索。
点聚WebOffice开发接口SDK及其开发指南
Lastrevisiondate:
13December2020.
点聚WebOffice开发接口SDK及其开发指南
WebOffice文档控件
开发文档
北京点聚信息技术有限公司
2008/05/08
北京点聚信息技术有限公司(以下简称“点聚”)尽最大努力使这篇文章中的内容完善且正确。
点聚对于由这篇文档导致的任何形式的直接或间接损失不负有责任。
这篇文章的内容会跟随产品的升级而有所变化。
标记
名称:
WebOffice开发文档
状态:
发布
部门:
研发部
文档ID:
WebOffice-01-001
更新记录
版本
时间
备注
6.0.3.0
2009-08
1.增加了Is2007属性,判断当前版本是否Office2007。
2.增加了lContinue属性,可以在Word、excel事件处理中终止该事件操作。
3.增加了HideMenuAction方法,能够对Office2007菜单进行控制。
4.修改了新建、打开文档闪的问题。
现在直接打开,没有闪烁。
5.修改了EXCEL打开无菜单项的BUG
6.0.2.0
2009-02
6.增加了工具栏按钮事件
7.扩展了GetDocumentObject接口导出PPT的 : _Presentation>对象 8.增加SaveAsPDF方法,无须安装Adobe即可直接输出PDF 9.增加IsModify属性,判断文档是否修改 10.增加GetFileSize方法,判断文档的大小 11.增加了Word中的事件捕获。 2008-10 1.增加了工具栏 2.增加了WPS的支持 3.增加了上传文件的压缩和加密 2008-05 1.设置了对文档安全的控制 2.清除了对Word模板的修改 2008-03 1.支持自定义的菜单,并跟Javascript绑定 2007-10 1.可以设置文档打开密码和可写密码,支持Word、Excel 2.设置Word中的变量,可以更新关联的域 3.扩展了这个接口,支持Http下的相对路径 软件开发协议 北京点聚信息技术有限公司(以下简称点聚)的所有产品,包括但不限于: 开发工具包,磁盘,光盘,硬件设备和文档,以及未来的所有定单都受本协议的制约。 如果您不愿接受这些条款,请在收到后的7天内将开发工具包寄回点聚,预付邮资和保险。 我们会把货款退还给您,但要扣除运费和适当的手续费。 1.许可使用 您可以将本软件合并、连接到您的计算机程序中,但其目的只是如开发指南中描述的那样保护该程序。 您可以以存档为目的复制合理数量的拷贝。 2.禁止使用 除在条款1中特别允许的之外,不得复制、反向工程、反汇编、反编译、修改、增加、改进软件、硬件和产品的其它部分。 禁止对软件和产品的任何部分进行反向工程,或企图推导软件的源代码。 禁止使用产品中的磁性或光学介质来传递、存储非本产品的原始程序或由点聚提供的产品升级的任何数据。 禁止将软件放在服务器上传播。 3.有限担保 点聚保证在自产品交给您之日起的12个月内,在正常的使用情况下,硬件和软件存储介质没有重大的工艺和材料上的缺陷。 4.修理限度 当根据本协议提出索赔时,点聚唯一的责任就是根据点聚的选择,免费进行替换或维修。 点聚对更换后的任何产品部件都享有所有权。 保修索赔单必须在担保期内写好,在发生故障14天内连同令人信服的证据交给点聚。 当将产品返还给点聚或点聚的授权代理商时,须预付运费和保险。 除了在本协议中保证的担保之外,点聚不再提供特别的或隐含的担保,也不再对本协议中所描述的产品负责,包括它们的质量,性能和对某一特定目的的适应性。 5.责任限度 不管因为什么原因,不管是因合同中的规定还是由于刑事的原因,包括疏忽的原因,而使您及任何一方受到了损失,由我方产品所造成的损失或该产品是起诉的原因或与起诉有间接关系,点聚对您及任何一方所承担的全部责任不超出您购买该产品所支付的货款。 在任何情况下,点聚对于由于您不履行责任所导致的损失,或对于数据、利润、储蓄或其它的后续的和偶然的损失,即使点聚被建议有这种损失的可能性,或您根据第3方的索赔而提出的任何索赔均不负责任。 6.协议终止 当您不能遵守本协议所规定的条款时,将终止您的许可和本协议。 但条款2,3,4,5将继续有效。 7.针对WebOffice的特别条款 WebOffice为免费版本软件,可以使用于个人开发和商业用途中。 点聚将提供有限的技术服务。 一、工作原理 点聚WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。 1.1开发流程 ├装载控件 ├触发初始化方法 -- WebOffice1_NotifyCtrlReady() //--> ├执行初始化方法,打开新文档或装载已经存在的文档 functionWebOffice1_NotifyCtrlReady(){ ("…","…"); } ├根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名 functionWebOffice1_NotifyCtrlReady(){ ("…","…"); 张三"); 1); } ├填写表单元素,编辑Office文档 ├执行Http上传接口保存表单元素和Office文档 //保存文档之前,如果需要接受修订,需要调用 documen4); //通过Http接口上传 "…"); "…","…"); ├saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。 ├根据saveDoc.asp返回值进行相应操作。 1.2WEB页面调用控件: 0px;TOP: 0px" classid="clsid: E77E049B-23FC-4DB8-B756-60529A35FAD5"codebase=WebOffice.ocx#Version=3,0,0,0> 主要参数说明: id控件在网页的别名,可以通过别名调用控件的方法、属性 width控件的宽度,可以使用绝对大小,如width="100px"。 height控件的高度 codebase设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件 注意: 如果控件的width和height属性使用%表示,则要明确指明它所在的容器的大小,如把控件放到表格 二、接口说明 2.1接口 2.1.1AboutBox 原型: voidAboutBox(); 功能: 显示WebOffice版本信息 返回值: 示例: .AboutBox(); 2.1.2AcceptAllRevisions 原型: longAcceptAllRevisions(); 功能: 接受当前文档所有修订 返回值: 0: 接受修订成功 非零: 接受修订失败 示例: .AcceptAllRevisions(); 2.1.3AddMenu 原形: AddMenu(LPCTSTRcMenuName,LPCTSTRcChildName,longiIndex,LPCTSTRcBindJSFun) 功能: (保留) 参数: 返回值: 示例: 2.1.4BookMarkOpt 原型: longBookMarkOpt(BSTRstrBookMarks,longlType); 功能: 获取文档书签列表(保留) 参数: 返回值: 示例: 2.1.5CloseDoc 原型: longCloseDoc(longblReqSaved); 功能: 关闭当前文档 参数: blReqSaved: 0: 关闭文档,不保存当前修改。 1: 关闭文档,保存当前修改。 2: 如果文档已经被修改,显示保存文档对话框,否则直接关闭。 其它: 关闭文档,保存当前修改。 返回值: 0: 失败 非零: 成功 示例: //关闭当前文档,不保存当前修改。 ; 2.1.6ConvertToAip 原型: shortConvertToAip(shortnAddOriFile,shortnSupport) 功能: 把当前通过打开的原始文件直接转化成AIP文件。 参数: nAddOriFile: 是否装载原始文件。 0: 不装载。 非0: 装载原始文件。 nSupport: 是否以普通方式(即解析文档的书签)打开。 0: 不解析。 非0: 解析。 返回值: 0: 转化失败 非零: 转化成功 示例: ConvertToAip(1,1); 2.1.7CreateApp 原型: shortCreateApp(BSTRstrAppName); 功能: (保留) 参数: 返回值: 示例: 2.1.8DelLocalFile 原型: longDelLocalFile(BSTRstrFilePathName); 功能: 删除本地文件 参数: strFilePathName: 本地文件的绝对路径。 返回值: 0: 删除成功 非零: 删除失败 示例: ; 2.1.9DownLoadFile 原型: shortDownLoadFile(LPCTSTRstrHttpFileURL,LPCTSTRstrLocalFilePath,LPCTSTRstrTitle,LPCTSTRstrFileType) 功能: 下载远程服务器文件,当设置OptionFlag|=0x0080会弹出文件下载进度条。 参数: strHttpFileURL: 服务器文件路径。 strLocalFilePath: 保存的本地文件路径,如为空则弹出文件保存对话框。 strTitle: 文件保存对话框的默认文件名,仅当strLocalFilePath为空有效。 strFileType: 默认文件类型,仅当strLocalFilePath为空有效。 返回值: 0: 成功 非零: 失败 示例: o obj.DownLoadFile("ht标题","doc"); 2.1.10ExcProtectSharing 原型: longExcProtectSharing(BSTRstrPassword,BSTRstrWriteResPassword,shortbReadOnlyRecommended,BSTRstrSharingPassword); 功能: (保留) 参数: 返回值: 示例: 2.1.11ExcUnprotectSharing 原型: longExcUnprotectSharing(BSTRstrSharingPassword); 功能: (保留) 参数: 返回值: 示例: 2.1.12FtpConnect 原型: longFtpConnect(BSTRstrURL,longlPort,BSTRstrUser,BSTRstrPwd); 功能: FTP相关(保留) 参数: 返回值: 示例: 2.1.13FtpDisConnect 原型: longFtpDisConnect(); 功能: FTP相关(保留) 参数: 返回值: 示例: 2.1.14FtpGetFile 原型: longFtpGetFile(BSTRstrRemoteFile,BSTRstrLocalFile); 功能: FTP相关(保留) 参数: 返回值: 示例: 2.1.15GetDocumentObject 原型: IDispatch*GetDocumentObject(); 功能: 获取文档对象的ActiveDocument对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。 参数: 返回值: ActiveDocument对象的Dispatch 示例: /*以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。 functionAddPicture(strMarkName,strBmpPath,vType) 在书签位置插入图片, strMarkName书签的名称 strBmpPath图片的路径 vType插入后的图片的样式,5为浮动在文字上面 AddPicture("test1","d: \\111.bmp",5); AddPicture("test1","d: \\111.bmp",128); */ functionAddPicture(strMarkName,strBmpPath,vType) { //定义一个对象,用来存储ActiveDocument对象 varobj; obj=newObject(document.all.WebOffice1.GetDocumentObject()); if(obj! =null){ varpBookMarks; //VAB接口获取书签集合 pBookMarks=obj.Bookmarks; varpBookM; //VAB接口获取书签strMarkName pBookM=pBookMarks(strMarkName); varpRange; //VAB接口获取书签strMarkName的Range对象 pRange=pBookM.Range; varpRangeInlines; //VAB接口获取书签strMarkName的Range对象的InlineShapes对象 pRangeInlines=pRange.InlineShapes; varpRangeInline; //VAB接口通过InlineShapes对象向文档中插入图片 pRangeInline=pRangeInlines.AddPicture(strBmpPath); //设置图片的样式,5为浮动在文字上面 pRangeInline.ConvertToShape().WrapFormat.TYPE=vType; deleteobj; } } 2.1.16GetFieldValue 原型: BSTRGetFieldValue(BSTRstrFieldName,BSTRstrSheetName); 功能: 获得书签位置的数值 参数: strFieldName: 书签的名字 strSheetName: 预留字段(值为空) 返回值: 返回书签的值 示例: //获得书签的值 varstrFieldValue= 2.1.17GetTempFilePath 原型: BSTRGetTempFilePath(); 功能: 获得临时文件路径 参数: 返回值: 当前文件的临时路径 示例: varstrTempPath=GetTempFilePath(); 2.1.18GetRevCount 原型: longGetRevCount(); 功能: 获取修订节点的个数 参数: 返回值: 获取修订节点的个数 示例: 2.1.19GetRevInfo 原型: BSTRGetRevInfo(longlIndex,longlType); 功能: 获取修订节点的信息(修订人,修订的时间,修订的动作) 参数: lIndex: 修订的节点编号 lType: 获取的信息编号 返回值: 示例: //1.获取修订的用户 vUserName=document.all.WebOffice1.GetRevInfo(i,0); //2.获取修订的时间 vDate=newString(document.all.WebOffice1.GetRevInfo(i,1)); //3.获取修订的动作 varvRet=document.all.WebOffice1.GetRevInfo(i,2); vRet=="1": 表示"插入"的操作 vRet=="2": 表示"删除"的操作 //4.获取修订的内容 vUserName=document.all.WebOffice1.GetRevInfo(i,3); //总体的例子代码 varvCount; varvOpt=0; varvDate; for(vari=1;i<=vCount;i++){ vOpt=d if("1"==vOpt){ vOpt="插入"; }elseif("2"==vOpt){ vOpt="删除"; }else{ vOpt="未知操作"; } vDate=parseFloat(vDate); dateObj=newDate(vDate); alert(dateObj.getYear()+"年"+dateObj.getMonth()+1+"月"+dateObj.getDate()+"日"+dateObj.getHours()+"时"+dateObj.getMinutes()+"分"+dateObj.getSeconds()+"秒"); } 2.1.20GetFileSize 原型: longGetFileSize(LPCTSTRstrFilePath); 功能: 获取本地文件的大小 参数: 返回值: 示例: varvLen=obj.GetFileSize("c: \\111.doc"); 2.1.21GetBookMarkCount 原型: longGetBookMarkCount(); 功能: 获取文档中书签的总数量 参数: 返回值: 示例: GetFileSize 2.1.22GetBookMarkInfo 原型: BSTRGetBookMarkInfo(longlIndex,longlType); 功能: 获取各书签的信息(名称和变量) 参数: 返回值: 示例: varvBKCount; variIndex; varvName; varvValue; varvShowInfo; vShowInfo=""; for(iIndex=1;iIndex<=vBKCount;iIndex++){ vShowInfo+="BK"+iIndex+": "+vName+"="+vValue+" vName=""; vValue=""; } alert(vShowInfo); //演示的例子: 2.1.23HideMenuItem 原型: longHideMenuItem(longlMenuType); 功能: 控制自有工具栏的显示 参数: lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。 enum{ vNew=0x01,//新建 vOpen=0x02,//打开 vSaveAs=0x04,//保存 vPrint=0x10,//打印 vPrintView=0x20,//打印预览 vReturn=0x1000,//全屏 vFullScrean=0x2000//返回 }; 返回值: 示例: //只显示新建和全屏按钮 Object.HideMenuItem(0x01+0x1000); 2.1.24HttpInit 原型: longHttpInit(); 功能: 初始化上传接口 参数: 返回值: 示例: //上传前必须执行此方法 .HttpInit(); 2.1.25HttpAddPostFile 原型: longHttpAddPostFile(BSTRstrName,BSTRstrFile); 功能: Http上传相关(保留) 参数: 返回值: 示例: //上传本地文件c: \\111.doc .HttpAddPostFile("111","c: \\111.doc") 2.1.26HttpAddPostBuffer 原型: longHttpAddPostBuffer(BSTRstrName,BSTRstrRelateFile,BSTRpbBuffer,longlLen); 功能: Http上传相关(保留) 参数: 返回值: 示例: 2.1.27HttpAddPostValue 原型: longHttpAddPostValue(BSTRstrName,longlValue); 功能: Http上传相关(保留) 参数: 返回值: 示例: 2.1.28HttpAddPostString 原型: longHttpAddPostString(BSTRstrName,BSTRstrValue); 功能: 添加要上传的表单域 参数: strName: 表单域的名称 strValue: 表单域的值 返回值: 示例: //添加表单域,可多次执行此方法 2.1.29HttpAddPostCurrFile 原型: longHttpAddPostCurrFile(Stringfield,StringnewFileName); 功能: 添加要上传的Word或者Excel文件 参数: Field: 要上传文件的id newF 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1内,则要明确指明表格 的width和height的绝对值。
";