1、点聚WebOffice开发接口SDK及其开发指南 WebOffice 文档控件 开发文档北京点聚信息技术有限公司2008/05/08北京点聚信息技术有限公司(以下简称“点聚”)尽最大努力使这篇文章中的内容完善且正确。点聚对于由这篇文档导致的任何形式的直接或间接损失不负有责任。这篇文章的内容会跟随产品的升级而有所变化。 标记 名称:WebOffice开发文档状态:发布部门:研发部文档ID:WebOffice-01-001更新记录版本时间备注6.0.3.02009-081. 增加了Is2007属性,判断当前版本是否Office2007。2. 增加了lContinue属性,可以在Word、excel
2、事件处理中终止该事件操作。3. 增加了HideMenuAction方法,能够对Office2007菜单进行控制。4. 修改了新建、打开文档闪的问题。现在直接打开,没有闪烁。5. 修改了EXCEL打开无菜单项的BUG6.0.2.02009-026. 增加了工具栏按钮事件7. 扩展了GetDocumentObject接口导出PPT的对象8. 增加SaveAsPDF方法,无须安装Adobe即可直接输出PDF9. 增加IsModify属性,判断文档是否修改10. 增加GetFileSize方法,判断文档的大小11. 增加了Word中的事件捕获。6.0.0.02008-101增加了工具栏2增加了WPS的
3、支持3. 增加了上传文件的压缩和加密5.0.8.22008-051. 设置了对文档安全的控制2. 清除了对Word模板的修改5.0.8.02008-031. 支持自定义的菜单,并跟Javascript绑定5.0.1.42007-101. 可以设置文档打开密码和可写密码,支持Word、Excel2. 设置Word中的变量,可以更新关联的域3. 扩展了这个接口,支持Http下的相对路径软件开发协议北京点聚信息技术有限公司(以下简称点聚)的所有产品,包括但不限于:开发工具包,磁盘,光盘,硬件设备和文档,以及未来的所有定单都受本协议的制约。如果您不愿接受这些条款,请在收到后的7天内将开发工具包寄回点聚
4、,预付邮资和保险。我们会把货款退还给您,但要扣除运费和适当的手续费。1. 许可使用 您可以将本软件合并、连接到您的计算机程序中,但其目的只是如开发指南中描述的那样保护该程序。您可以以存档为目的复制合理数量的拷贝。 2. 禁止使用 除在条款1中特别允许的之外,不得复制、反向工程、反汇编、反编译、修改、增加、改进软件、硬件和产品的其它部分。禁止对软件和产品的任何部分进行反向工程,或企图推导软件的源代码。禁止使用产品中的磁性或光学介质来传递、存储非本产品的原始程序或由点聚提供的产品升级的任何数据。禁止将软件放在服务器上传播。 3. 有限担保 点聚保证在自产品交给您之日起的12个月内,在正常的使用情况
5、下,硬件和软件存储介质没有重大的工艺和材料上的缺陷。 4. 修理限度 当根据本协议提出索赔时,点聚唯一的责任就是根据点聚的选择,免费进行替换或维修。点聚对更换后的任何产品部件都享有所有权。 保修索赔单必须在担保期内写好,在发生故障14天内连同令人信服的证据交给点聚。当将产品返还给点聚或点聚的授权代理商时,须预付运费和保险。 除了在本协议中保证的担保之外,点聚不再提供特别的或隐含的担保,也不再对本协议中所描述的产品负责,包括它们的质量,性能和对某一特定目的的适应性。 5. 责任限度 不管因为什么原因,不管是因合同中的规定还是由于刑事的原因,包括疏忽的原因,而使您及任何一方受到了损失,由我方产品所
6、造成的损失或该产品是起诉的原因或与起诉有间接关系,点聚对您及任何一方所承担的全部责任不超出您购买该产品所支付的货款。在任何情况下,点聚对于由于您不履行责任所导致的损失,或对于数据、利润、储蓄或其它的后续的和偶然的损失,即使点聚被建议有这种损失的可能性,或您根据第3方的索赔而提出的任何索赔均不负责任。 6. 协议终止 当您不能遵守本协议所规定的条款时,将终止您的许可和本协议。但条款2, 3,4,5将继续有效。 7.针对WebOffice的特别条款WebOffice为免费版本软件,可以使用于个人开发和商业用途中。点聚将提供有限的技术服务。目 录一、工作原理 81.1 开发流程 81.2 WEB页面
7、调用控件: 9二、接口说明 102.1 接口 102.1.1 AboutBox 102.1.2 AcceptAllRevisions 102.1.3 AddMenu 102.1.4 BookMarkOpt 112.1.5 CloseDoc 112.1.6 ConvertToAip 112.1.7 CreateApp 122.1.8 DelLocalFile 122.1.9 DownLoadFile 122.1.10 ExcProtectSharing 132.1.11 ExcUnprotectSharing 132.1.12 FtpConnect 132.1.13 FtpDisConnect
8、132.1.14 FtpGetFile 142.1.15 GetDocumentObject 142.1.16 GetFieldValue 152.1.17 GetTempFilePath 152.1.18 GetRevCount 162.1.19 GetRevInfo 162.1.20 GetFileSize 172.1.21 GetBookMarkCount 172.1.22 GetBookMarkInfo 172.1.23 HideMenuItem 182.1.24 HttpInit 182.1.25 HttpAddPostFile 192.1.26 HttpAddPostBuffer
9、192.1.27 HttpAddPostValue 192.1.28 HttpAddPostString 192.1.29 HttpAddPostCurrFile 202.1.30 HttpAddPostCurrFile2 202.1.31 HttpPost 202.1.32 InsertFile 212.1.33 IsOpened 212.1.34 IsSaved 222.1.35 InsertFile 222.1.36 LoadOriginalFile 232.1.37 OpenFileDlg 242.1.38 ProtectDoc 242.1.39 PrintDoc 242.1.40 P
10、utSaved 252.1.41 Save 252.1.42 SaveTo 252.1.43 SaveAs 262.1.44 SaveAsPDF 262.1.45 SetFieldValue 272.1.46 SetTrackRevisions 282.1.47 ShowRevisions 282.1.48 SetCurrUserName 282.1.49 SetToolBarButton2 282.1.50 HideMenuAction 302.1.51 SetCurrTime 312.1.52 SetKeyCtrl 312.1.53 SetSecurity 322.1.54 ShowDia
11、log 322.1.55 SetValue 332.1.56 SetDocVariable 332.1.57 UnProtectDoc(BSTR strPwd) 342.1.58 ZipFile 342.2 属性 352.2.1 DocType 352.2.2 Version 352.2.3 AppVersion 352.2.4 lEventRet 352.2.5 IsModify 362.2.6 ShowToolBar 362.2.7 OptionFlag 362.2.8 Is2007 372.2.9 lContinue 372.3 事件 382.3.1 NotifyWordEvent 38
12、2.3.2 NotifyCtrlReady 382.3.3 NotifyToolBarClick 38三、ASP例子说明 403.1 Access数据库结构 403.2 演示程序主要页面说明 403.3 开发必读 40四、FAQ 414.1 如何把文件直接上传到服务器 41五、附录 425.1 WebOffice文件Http上传原理 42 一、工作原理点聚WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为s
13、aveDoc.asp页,代码见演示文件),完成文档的存档工作。1.1 开发流程 装载控件 . 触发初始化方法 执行初始化方法,打开新文档或装载已经存在的文档function WebOffice1_NotifyCtrlReady() document.all.WebOffice1.LoadOriginalFile(, ); 根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名function WebOffice1_NotifyCtrlReady() document.all.WebOffice1.LoadOriginalFile(, ); document.all.WebO
14、ffice1.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.WebOffice
15、1.HttpAddPostCurrFile(, ); document.all.WebOffice1.HttpPost() saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。 根据saveDoc.asp返回值进行相应操作。1.2 WEB页面调用控件: 主要参数说明:id 控件在网页的别名,可以通过别名调用控件的方法、属性width 控件的宽度,可以使用绝对大小,如width=100px。height 控件的高度codebase 设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果
16、用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件注意: 如果控件的width 和height属性使用表示,则要明确指明它所在的容器的大小,如把控件放到表格内,则要明确指明表格的width和height的绝对值。二、接口说明2.1 接口2.1.1 AboutBox原 型: void AboutBox();功 能:显示WebOffice版本信息返回值: 示 例:document.all.WebOffice1. AboutBox();2.1.2 AcceptAllRevisions原 型: long AcceptAllRevisions();功 能:接受当前文档所有修
17、订 返回值:0:接受修订成功 非零:接受修订失败示 例:document.all.WebOffice1.AcceptAllRevisions();2.1.3 AddMenu原 形:AddMenu(LPCTSTR cMenuName, LPCTSTR cChildName, long iIndex, LPCTSTR cBindJSFun)功 能:(保留)参 数:返回值:示 例: 2.1.4 BookMarkOpt原 型: long BookMarkOpt(BSTR strBookMarks,long lType);功 能:获取文档书签列表(保留)参 数: 返回值:示 例: 2.1.5 Close
18、Doc原 型: long CloseDoc(long blReqSaved);功 能:关闭当前文档参 数: blReqSaved: 0:关闭文档,不保存当前修改。 1:关闭文档,保存当前修改。 2:如果文档已经被修改,显示保存文档对话框,否则直接关闭。 其它:关闭文档,保存当前修改。返回值: 0: 失败 非零: 成功示 例: /关闭当前文档,不保存当前修改。document.all.WebOffice1.CloseDoc (0);2.1.6 ConvertToAip原 型: short ConvertToAip(short nAddOriFile,short nSupport)功 能:把当前通
19、过LoadOriginalFile打开的原始文件直接转化成AIP文件。参 数:nAddOriFile:是否装载原始文件。0:不装载。非0:装载原始文件。 nSupport:是否以普通方式(即解析文档的书签)打开。0:不解析。非0:解析。返回值:0:转化失败 非零:转化成功示 例:document.all.WebOffice1.ConvertToAip (1,1);2.1.7 CreateApp原 型: short CreateApp(BSTR strAppName);功 能:(保留)参 数: 返回值: 示 例: 2.1.8 DelLocalFile原 型: long DelLocalFile(
20、BSTR strFilePathName);功 能:删除本地文件参 数: strFilePathName:本地文件的绝对路径。返回值: 0: 删除成功 非零: 删除失败示 例: document.all.WebOffice1.DelLocalFile(c:111.doc);2.1.9 DownLoadFile原 型: short DownLoadFile(LPCTSTR strHttpFileURL, LPCTSTR strLocalFilePath, LPCTSTR strTitle, LPCTSTR strFileType)功 能:下载远程服务器文件,当设置OptionFlag |= 0x
21、0080 会弹出文件下载进度条。参 数: strHttpFileURL:服务器文件路径。strLocalFilePath:保存的本地文件路径,如为空则弹出文件保存对话框。strTitle:文件保存对话框的默认文件名,仅当strLocalFilePath为空有效。strFileType:默认文件类型,仅当strLocalFilePath为空有效。返回值: 0: 成功 非零: 失败示 例:obj.DownLoadFile(,c:111.sel,);obj.DownLoadFile(,标题,doc);2.1.10 ExcProtectSharing原 型: long ExcProtectSharin
22、g(BSTR strPassword,BSTR strWriteResPassword, short bReadOnlyRecommended,BSTR strSharingPassword);功 能:(保留)参 数:返回值: 示 例:2.1.11 ExcUnprotectSharing原 型: long ExcUnprotectSharing(BSTR strSharingPassword);功 能:(保留)参 数:返回值: 示 例:2.1.12 FtpConnect原 型: long FtpConnect(BSTR strURL, long lPort, BSTR strUser, BST
23、R strPwd); 功 能:FTP相关(保留)参 数: 返回值:示 例: 2.1.13 FtpDisConnect原 型: long FtpDisConnect();功 能:FTP相关(保留)参 数: 返回值:示 例: 2.1.14 FtpGetFile原 型: long FtpGetFile(BSTR strRemoteFile, BSTR strLocalFile);功 能:FTP相关(保留)参 数: 返回值:示 例: 2.1.15 GetDocumentObject原 型: IDispatch* GetDocumentObject();功 能:获取文档对象的ActiveDocument
24、对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。参 数: 返回值: ActiveDocument对象的Dispatch示 例:/* 以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。function AddPicture(strMarkName,strBmpPath,vType)在书签位置插入图片,strMarkName 书签的名称strBmpPath 图片的路径vType 插入后的图片的样式,5为浮动在文字上面AddPicture(test1,d:111.bmp,5);AddPicture(test1,d:
25、111.bmp,128);*/function AddPicture(strMarkName,strBmpPath,vType)/定义一个对象,用来存储ActiveDocument对象 var obj; obj = new Object(document.all.WebOffice1.GetDocumentObject(); if(obj !=null) var pBookMarks;/ VAB接口获取书签集合 pBookMarks = obj.Bookmarks; var pBookM;/ VAB接口获取书签strMarkName pBookM = pBookMarks(strMarkNam
26、e); var pRange;/ VAB接口获取书签strMarkName的Range对象 pRange = pBookM.Range; var pRangeInlines; / VAB接口获取书签strMarkName的Range对象的InlineShapes对象 pRangeInlines = pRange.InlineShapes; var pRangeInline; / VAB接口通过InlineShapes对象向文档中插入图片 pRangeInline = pRangeInlines.AddPicture(strBmpPath); /设置图片的样式,5为浮动在文字上面 pRangeI
27、nline.ConvertToShape().WrapFormat.TYPE = vType; delete obj;2.1.16 GetFieldValue原 型: BSTR GetFieldValue(BSTR strFieldName, BSTR strSheetName);功 能:获得书签位置的数值参 数:strFieldName:书签的名字strSheetName:预留字段(值为空) 返回值: 返回书签的值示 例:/获得书签的值 var strFieldValue=document.all.WebOffice1.GetFieldValue(mark_1,)2.1.17 GetTempFilePath原 型: BSTR GetTempFilePath();功 能:获得临时文件路径参 数: 返回值: 当前文件的临时路径示 例: var strTempPath=document.all.WebOffice1.GetTempFilePath ();2.1.18 GetRevCount原 型:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1