WebOffice70标准版开发接口SDK.docx
- 文档编号:10055059
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:29
- 大小:26.69KB
WebOffice70标准版开发接口SDK.docx
《WebOffice70标准版开发接口SDK.docx》由会员分享,可在线阅读,更多相关《WebOffice70标准版开发接口SDK.docx(29页珍藏版)》请在冰豆网上搜索。
WebOffice70标准版开发接口SDK
WebOffice文档控件
开发文档
尽最大努力使这篇文章中的内容完善且正确。
对于由这篇文档导致的任何形式的直接或间接损失不负有责任。
这篇文章的内容会跟随产品的升级而有所变化。
标记
名称:
WebOffice开发文档
状态:
发布
部门:
研发部
文档ID:
WebOffice-01-001
目录
一、工作原理5
1.1开发流程5
1.2WEB页面调用控件:
6
二、接口说明7
2.1接口7
2.1.1AboutBox7
2.1.2AcceptAllRevisions7
2.1.3CloseDoc7
2.1.4DelLocalFile8
2.1.5GetDocumentObject8
2.1.6GetFieldValue9
2.1.7GetTempFilePath9
2.1.8GetRevCount10
2.1.9GetFileSize10
2.1.10GetBookMarkCount10
2.1.11HideMenuItem10
2.1.12HttpInit11
2.1.13HttpAddPostFile11
2.1.14HttpAddPostString11
2.1.15HttpAddPostCurrFile12
2.1.16HttpPost12
2.1.17InsertFile12
2.1.18IsOpened13
2.1.19IsSaved13
2.1.20LoadOriginalFile14
2.1.21OpenFileDlg14
2.1.22ProtectDoc15
2.1.23PrintDoc15
2.1.24PutSaved15
2.1.25Save16
2.1.26SaveTo16
2.1.27SaveAs16
2.1.28SetFieldValue17
2.1.29SetTrackRevisions18
2.1.30ShowRevisions18
2.1.31SetCurrUserName18
2.1.32ShowDialog18
2.1.33UnProtectDoc(BSTRstrPwd)19
2.2属性20
2.2.1DocType20
2.2.2Version20
2.2.3AppVersion20
2.2.4lEventRet20
2.2.5IsModify21
2.2.6ShowToolBar21
2.2.7lContinue21
2.3事件21
2.3.1NotifyWordEvent21
2.3.2NotifyCtrlReady22
2.3.3NotifyToolBarClick22
附录:
WebOffice文件Http上传原理23
一、工作原理
WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。
1.1开发流程
├装载控件
├触发初始化方法
--
WebOffice1_NotifyCtrlReady()
//-->
├执行初始化方法,打开新文档或装载已经存在的文档
functionWebOffice1_NotifyCtrlReady(){
document.all.WebOffice1.LoadOriginalFile("…","…");
}
├根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名
functionWebOffice1_NotifyCtrlReady(){
document.all.WebOffice1.LoadOriginalFile("…","…");
document.all.WebOffice1.SetCurrUserName("张三");
document.all.WebOffice1.SetTrackRevisions
(1);
}
├填写表单元素,编辑Office文档
├执行Http上传接口保存表单元素和Office文档
//保存文档之前,如果需要接受修订,需要调用
document.all.WebOffice1.SetTrackRevisions(4);
//通过Http接口上传
document.all.WebOffice1.HttpInit();
document.all.WebOffice1.HttpAddPostString("…","…");
document.all.WebOffice1.HttpAddPostCurrFile("…","…");
document.all.WebOffice1.HttpPost("…")
├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版本信息 返回值: 示例: document.all.WebOffice1.AboutBox(); 2.1.2AcceptAllRevisions 原型: longAcceptAllRevisions(); 功能: 接受当前文档所有修订 返回值: 0: 接受修订成功 非零: 接受修订失败 示例: document.all.WebOffice1.AcceptAllRevisions(); 2.1.3CloseDoc 原型: longCloseDoc(longblReqSaved); 功能: 关闭当前文档 参数: blReqSaved: 0: 关闭文档,不保存当前修改。 1: 关闭文档,保存当前修改。 2: 如果文档已经被修改,显示保存文档对话框,否则直接关闭。 其它: 关闭文档,保存当前修改。 返回值: 0: 失败 非零: 成功 示例: //关闭当前文档,不保存当前修改。 document.all.WebOffice1.CloseDoc(0); 2.1.4DelLocalFile 原型: longDelLocalFile(BSTRstrFilePathName); 功能: 删除本地文件 参数: strFilePathName: 本地文件的绝对路径。 返回值: 0: 删除成功 非零: 删除失败 示例: document.all.WebOffice1.DelLocalFile("c: \\111.doc"); 2.1.5GetDocumentObject 原型: 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.6GetFieldValue 原型: BSTRGetFieldValue(BSTRstrFieldName,BSTRstrSheetName); 功能: 获得书签位置的数值 参数: strFieldName: 书签的名字 strSheetName: 预留字段(值为空) 返回值: 返回书签的值 示例: //获得书签的值 varstrFieldValue=document.all.WebOffice1.GetFieldValue("mark_1","") 2.1.7GetTempFilePath 原型: BSTRGetTempFilePath(); 功能: 获得临时文件路径 参数: 返回值: 当前文件的临时路径 示例: varstrTempPath=document.all.WebOffice1.GetTempFilePath(); 2.1.8GetRevCount 原型: longGetRevCount(); 功能: 获取修订节点的个数 参数: 返回值: 获取修订节点的个数 示例: 2.1.9GetFileSize 原型: longGetFileSize(LPCTSTRstrFilePath); 功能: 获取本地文件的大小 参数: 返回值: 示例: varvLen=obj.GetFileSize("c: \\111.doc"); 2.1.10GetBookMarkCount 原型: longGetBookMarkCount(); 功能: 获取文档中书签的总数量 参数: 返回值: 示例: 2.1.11GetBookMarkInfo(lIndex,iType) 原型: longGetBookMarkInfo(lIndex,iType); 功能: 获取文档中书签的信息 参数: lIndex: 书签的序号,从1开始 iType: 获取内容类型。 0获取书签名,1获取书签值 返回值: 示例: 2.1.12HideMenuItem 原型: longHideMenuItem(longlMenuType); 功能: 控制自有工具栏的显示 参数: lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。 enum{ vNew=0x01,//新建 vOpen=0x02,//打开 vSaveAs=0x04,//保存 vPrint=0x10,//打印 vPrintView=0x20,//打印预览 vReturn=0x1000,//全屏 vShowHideMenu=0x4000,//显示/隐藏菜单 vFullScrean=0x2000//返回 }; 返回值: 示例: //只显示新建和全屏按钮 Object.HideMenuItem(0x01+0x1000); 2.1.13HttpInit 原型: longHttpInit(); 功能: 初始化上传接口 参数: 返回值: 示例: //上传前必须执行此方法 document.all.weboffice1.HttpInit(); 2.1.14HttpAddPostFile 原型: longHttpAddPostFile(BSTRstrName,BSTRstrFile); 功能: Http上传相关(保留) 参数: 返回值: 示例: //上传本地文件c: \\111.doc document.all.weboffice1.HttpAddPostFile("111","c: \\111.doc") 2.1.15HttpAddPostString 原型: longHttpAddPostString(BSTRstrName,BSTRstrValue); 功能: 添加要上传的表单域 参数: strName: 表单域的名称 strValue: 表单域的值 返回值: 示例: //添加表单域,可多次执行此方法 document.all.WebOffice1.HttpAddPostString("DocTitle",myform.DocTitle.value); 2.1.16HttpAddPostCurrFile 原型: longHttpAddPostCurrFile(Stringfield,StringnewFileName); 功能: 添加要上传的Word或者Excel文件 参数: Field: 要上传文件的id newFielName: 上传后的新文件名。 该参数可以为空,系统将自动为文件命名 返回值: 示例: document.all.WebOffice1.HttpAddPostCurrFile("DocContent",""); 2.1.17HttpPost 原型: BSTRHttpPost(BSTRstrHttpURL); 功能: 将当前表单和文件数据提交到指定URL路径 参数: strHttpURL: 处理表单和文件数据的文件URL路径 返回值: Succeed: 上传成功 failed: 上传失败 示例: //相对路径 varreturnValue=document.all.WebOffice1.HttpPost("../saveDoc.jsp"); //绝对路径 varreturnValue=document.all.WebOffice1.HttpPost("http: //127.0.0.1/saveDoc.jsp") 2.1.18InsertFile 原形: shortInsertFile(LPCTSTRstrFilePathName,shortnCurPos) 功能: 插入合并文件,和插入图片。 参数: strFilePathName: 文件或者图片的路径,可以是Http.或者Ftp路径 nCurPos: 位置和图片控制符。 nCurPos或者nCurPos-8 0: 当前位置 1: 文件开头 2: 文件末尾 如果第四位为1: 表示插入的是图片 返回值: 0: 正确 其他: 错误 示例: //文件头部 document.all.WebOffice1.InSertFile("http: //XX.com/XX.doc",1); //文件尾部 document.all.WebOffice1.InSertFile("http: //XX.com/XX.doc",2); //当前光标位置 document.all.WebOffice1.InSertFile("http: //XX.com/XX.doc",0); //文件头部 document.all.WebOffice1.InSertFile("http: //XX.com/XX.jpg",9); //文件尾部 document.all.WebOffice1.InSertFile("http: //XX.com/XX.jpg",10); //当前光标位置 document.all.WebOffice1.InSertFile("http: //XX.com/XX.jpg",8); 2.1.19IsOpened 原型: longIsOpened(); 功能: 判断当前是否打开文件 参数: 返回值: 0: 表示当前未打开文档 非0: 表示已经打开文档 FILE_TYPE_WORD=11, FILE_TYPE_WORD=11, FILE_TYPE_EXCEL=12, FILE_TYPE_PPT=13, FILE_TYPE_RTF=14, FILE_TYPE_WPS=21, FILE_TYPE_PDF=31, FILE_TYPE_UNK=127 示例: varisOpened=document.all.WebOffice1.IsOpened(); 2.1.20IsSaved 原型: longIsSaved(); 功能: 判断文件是否被修改 参数: 返回值: 0: 文件已被修改 非零: 文件未被修改 示例: varisSaved=document.all.WebOffice1.IsSaved(); 2.1.21LoadOriginalFile 原型: longLoadOriginalFile(BSTRpcFileNameOrUrl,BSTRpcType); 功能: 新建、装载Office文档 参数: pcFileNameOrUrl: 要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径. pcType: doc: 打开、新建Word文件 xls: 打开、新建Excel文件 ppt: 打开、新建PPT文件 wps: 打开、新建WPS文件 返回值: 0: 失败 非0: 成功 示例: //通过URL打开一个服务器文件,getdoc.asp代码见演示文件 document.all.WebOffice1.LoadOriginalFile("http: //127.0.0.1/getdoc.asp? id=8","doc"); //通过URL打开一个服务器文件,相对路径 document.all.WebOffice1.LoadOriginalFile("/getdoc.asp? id=8","doc"); document.all.WebOffice1.LoadOriginalFile("./getdoc.asp? id=8","doc"); //新建Excel document.all.WebOffice1.LoadOriginalFile("","xls"); //通过Word打开本地文件 document.all.WebOffice1.LoadOriginalFile("C: \\demo.doc","doc"); 2.1.22OpenFileDlg 原型: shortOpenFileDlg(); 功能: 打开本地文件显示在WebOffice中 参数: pcFileNameOrUrl: 保存的文件路径 返回值: 示例: //打开对话框 document.all.WebOffice1.OpenFileDlg(); 2.1.23ProtectDoc 原型: longProtectDoc(longlProOrUn,longlType,BSTRstrPWD); 功能: 文档保护 参数: lProOrUn: └1: 为保护文档 └0: 为解锁文档 lType 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1内,则要明确指明表格 的width和height的绝对值。