1、ICS 3524020L 76 a雪中华人民共和国国家标准GBT 2 1 026-2007中文办公软件应用编程接口规范Specification for Chinese office software applicationprogramming interface2007-06-29发布 2007-1卜01实施宰瞀粥紫瓣警篷警瞥星发布中国国家标准化管理委员会促19目 次前言引言1 范围2规范性引用文件3术语和定义4约定-5接口描述51概述52基础接口模块UOLbase53应用相关接口模块uofapp54图形相关接口模块UOLshape 55格式相关接口模块UOf-format56文档通用处理
2、接口模块uofdoc-一57字处理相关接口模块llOLtext58 电子表格处理相关接口模块 UOLspreadsheet 59演示文稿处理相关的接口模块UOLpresentation510存储管理接Vl模块110f-pack511异常处理模块UOLerr一附录A(资料性附录) 中文办公软件应用编程接口IDL参考文献。GBT 2 1 026-2007,:00000孔勰弱钉韶刖 昂GBT 2 1 026-2007本标准附录A为资料性附录。本标准由中华人民共和国信息产业部提出。本标准由中国电子技术标准化研究所归口。本标准的起草单位:中国电子技术标准化研究所、中国科学院软件研究所、北京信息工程学院、
3、珠海金山软件股份公司、无锡永中科技有限公司、北京红旗中文贰仟软件技术有限公司、北京九州软件有限公司、上海中标软件有限公司。本标准的主要起草人:吴志刚、李宁、丁蔚、陈建明、黄芳、王长胜、李健萍、成修治、赵菁华。GBT 21026-2007引 言本标准规定了与GBT 20916(中文办公软件文档格式规范相适应的中文办公软件应用编程接口(API)。本标准旨在为中文办公软件的二次开发制定一个统一的开发接口,达到平台无关、语言无关、产品无关,利于产品的移植和软件重用,提高二次开发的效率,便于与其他应用系统集成。本标准适用于中文办公软件产品的开发人员、文档格式的使用人员和其他相关的研究开发群体。本标准制定
4、的API主要针对中文办公软件的文档格式(UOF)提供基本的访问和修改功能。未来版本将逐步规范其他方面的接口。对于本标准未作规定的内容二次开发厂商可以根据需要自行扩充实现。中文办公软件应用编程接口规范GBT 2 1 026-20071范围本标准规定了与中文办公软件文档格式UOF(Unified Ofice Format)相适应的中文办公软件应用编程接口(API)。本标准适用于中文办公软件产品的开发人员、文档格式的使用人员和其他相关的研究开发群体。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准
5、。然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注B期的引用文件,其最薪版本适用于本标准。GBT 20916 中文办公软件文档格式规范3术语和定义下列术语和定义适用于本标准。31组件component可复用的软件组成成分,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。32接口 interface对象所提供的一系列操作(方法)和属性。33接口定义语言interface definition language用于描述对象实现所提供的、客户端对象所调用的服务接口的描述语言。3,4孤行orpha
6、n单独打印在一页顶部的某段的最后一行。35寡行widow单独打印在一页底部的某段的第一行。36文档对象模型Document Object ModelDOMW3C制定的XML应用程序接口。它将XML文档表示成一个树形的结构。DOM规定了一系列编程指令,允许应用程序多次访问并操作文档树的组件。4约定本标准遵循:API采用对象管理组织(ObjectManagementGroup,OMG)IDL(接口定义语言)30进行描1GBT 21026-2007述(见参考文献1)。充分参考现有的API标准,特别是W3C制定的与XML相关的API,目前包括制定完成的或正在制定的API(见参考文献F-23)。充分尊重
7、用户的使用习惯,接近现有主流办公软件产品的API体系。仅规范接口,不规定实现相关的内容。接口命名以字母“I”开始。所有名称采用LCC命名方式,尽量简洁直观。5接口描述51概述本标准共规定了10个接口模块,每个模块定义相关的数据类型和接口,见表1。表1 中文办公软件应用编程接口模块模块名称 模块内容 定义接口数UOLbase 基础接口模块 2noLaPP 应用相关接口模块 3IIOLshape 图形相关接口模块 6UOLformat 格式相关接口模块 28110Ldoe 文档通用处理接口模块 6uoI text 字处理相关接口模块 31lloLspreadsheet 电子表格处理相关接口模块 l
8、】tlOLpresentation 演示文稿处理相关接口模块 8UOLpack 存储管理接口模块 8UOLerr 异常处理模块 0全部接口的IDL定义参见附录A。52基础接口模块uof_base定义常用的数据类型和基础接口,这些接口大部分被其他接口继承。521 容器接口 IContainer继承:无。属性:名称:count定义:readonly attribute unsigned long count说明:容器单元数量。方法:void clear()说明:清空容器。参数:无。返回:无。any initialize(in any newltem)说明:初始化,加入一个单元。参数:newItem
9、为新加入的单元。返回:新加入的单元。any getItemByIndex(in unsigned long index)raises(uoLerr:UOFException)2说明:获取一个单元。参数:index为要获取单元的位置。返回:新加入的单元。any insertItemBefore(in any newItemraises(UOLerr:UOFException)说明:在某个位置前插入新单元。参数:GBT 2 1 0262007newItem为新插入的单元;index为要插入单元的位置,新单元将插入此位置之前。返回:新插人的单元。any insertltemAfter(in any
10、newhem,in unsigned long index)raises(noLerr:UOFException)说明:在某个位置后插入新单元,返回所插入的对象。参数:newItem为新插入的单元;index为要插入单元的位置,新单元将插入此位置之后。返回:新插入的单元。boolean removeItem(in unsigned long index)raises(UOLerr:UOFException)说明:删除某个位置的单元。参数:index为要删除单元的位置。返回:成功为true,否则为false。any appendItem(in any newhem)说明:在容器末尾添加一个单元。
11、参数:newItern为要添加的单元。返回:添加的单元。522所有UOF元素的基元素接口IElement继承:dom:Element属性:名称:locID定义:readonly attribute DOMStringoclD说明:语义标识符,用于不同语种翻译。方法;DOMStringList getAttributeList()说明:获取属性“attrList”的值,即列出元素允许的属性序列,用于不同语种翻译。参数:无。返回:属性“attrList”的值。53应用相关接口模块uof_app定义与办公软件应用相关的接口(如对桌面的操作)。通过这里定义的接VI,办公软件应用可以启动文字处理、电子表
12、格处理和演示文稿处理等组件,并经切换。这里假定字处理、表处理和演示文稿处理等同属一个桌面应用,且字处理、表处理和演示文稿处理等组件在一个桌面应用中各自只能启动一个(即不能同时出现两个字处理应用)。另外,字处理、表处理和演示文稿处理等组件各自能够打开多个文档。3GBT 2 1 026-2007531数据类型定义组件类型appType为枚举类型,取值可为:TEX7r_PROCESSOR文字处理SPREADSHEETPROCESSOR电子表格处理PRESENTATIONPROCESSOR演示文稿处理532组件接口的基接口IAppBase继承:dom:DOMImplementation属性:名称:na
13、me定义:readonly attribute DOMString name说明:区别组件的名称。名称:type定义:readonly attribute appType type说明:区别组件的类型标识。appType的定义见531。方法:IDocument openDocument(in DOMString url)raises(uoferr:UoFException)说明:打开url标识的文档。参数:url为打开文档的标识。返回:文档对象。void saveDoCUment(in DOMString url)raises(UOLerr:UOFException)说明:保存文档。参数:ur
14、l为要保存文档的标识。返回:无。void saveAsDocument(in DOMString url)raises(UOf-err:UOFException)说明:文档“另存为”新的文档。参数:url为要保存文档的标识。返回:无。boolean deleteDocument()raises(uoferr:UOFException)说明:物理删除当前的文档。参数:无。返回:成功为true,否则为false。IDocumentSet getDocuments()说明:获得同一应用的所有文档。参数:无。返回:文档对象集合。IDocument getActiveDocument()说明:获得当前文
15、档。参数:无。返回:文档对象。void activateDocument(in IDocument document)说明:将文档置成当前文档。参数:document为要置成当前文档的文档。返回:无。GBT 2 1 026-2007void close()说明:关闭组件。参数:document为要置成当前文档的文档。返回:无。533桌面应用接口IApplication继承:无。属性:无。方法:IAppBase createAp pIicati。nCin appType type)raises(uof err:uoFExcepti。n)说明:创建几个主要组件之一。参数:type为组件类型名,ap
16、pType的定义见531。返回:组件对象。IAppBase l。cateApplicati。n(in appType type)raises(uof_err:UoFExcepti。n)说明:定位几个主要组件的其中一个。参数:type为需要定位的组件类型名,appType的定义见531。返回:组件对象。void close()说明:关闭桌面应用。需分别关闭对应组件。参数:无。返回:无。54图形相关接口模块uof_shape定义与图像相关的接口,如点、线、框等常用图形和自定义图形以及图表。541点Ipoint继承:无。属性:名称:x定义:attribute unsigned long x说明:点的
17、X坐标。名称:Y定义:attribute unsigned long Y说踢:点的Y坐标。方法:无。542点集合IPointSet继承:uoLbase:IContainer。属性:无。方法:无。543边框IBox继承:无。属性:名称:position定义:attribute IPoint position说明:边框的左上角位置。GBT 2 1 026-2007名称:height定义:attribute unsigned long height说明:边框的高度。名称:width定义:attribute unsigned long width说明:边框的宽度。方法:无。544 自选图形的基础接口
18、IShape”继承:无。属性:名称:controlPoints定义:attribute IPointSet controlPoints说明:控制点。名称:type定义:attribute DOMString type说明:图形,如“圆”、“矩形”等等。名称:name定义:attribute DOMString name说明:图形的名称。名称:software定义:attribute DOMString software说明:生成图形的软件名称与版本。名称:box定义:attribute IBox box说明:图形的边框。名称:keyPoints定义:attribute IPoints keyP
19、oints说明:关键点集合,主要用于多点控制的折线和曲线等。名称:fill定义:attribute lFillStyle fillStyle说明:填充属性。名称:line定义:attribute II。ineStyle line说明:线式样(包括颜色、线型、虚实、粗细等)。名称:beginArrow定义:attribute IArrowStyle beginArrow说明:前端箭头。名称:endArrow1)带文字的图形使用uoftext:IShape方法定义:attribute IArrowStyle endArrow说明:后端箭头。名称:width定义:attribute float wi
20、dth说明:宽度。名称:height定义:attribute float height说明:高度。名称:rotationAngle定义:attribute float rotationAngle说明:旋转角度。名称:xResize定义:attribute float xResize说明:x方向缩放尺度。名称:yResize定义:attribute float yResize说明:Y方向缩放尺度。名称:isKeepRatio定义:attribute boolean isKeepRatio说明:锁定纵横比。名称:origScale定义:attribute float origScale说明:相对原
21、始比例。名称:isProteet定义:attribute boolean isProtect说明:保护锁定。名称:objPosition定义:attribute DOMString objPosition说明:随动方式。名称:isPrint定义:attribute boolean isPrint说明:打印对象。名称:webText定义:attribute DOMString webText说明:web文字。名称:svgElement定义:attribute SVGElement svgElement说明:SVG图形。对于非预定义图形,采用SVG作为图形交换的格式。GBT 21026-2007G
22、BT 21026-2007void Aetivate()说明:激活指定的shape对象。参数:无。返回:无。545图表接口IChart继承:IShape属性:名称:chartType定义:attribute DOMString chartType说明:图表的类型。名称:cbartSubtype定义:attribute DOMString chartSubtype说明:图表子类型。名称:dataSource定义:attribute DOMString dataSouree说明:图表的数据源区域。名称:title定义:attribute DOMString title说明:图表的标题。方法:无。5
23、46图表集合IChartSet继承:Uof-base:IContainer属性:无。方法:无。55格式相关接口模块Iloffomat定义与通用格式相关的接口,如线型、填充、渐变、颜色、线和边框式样、字体、句和段落式样、单元格式样等等。551 式样基础接口 IStyleBase继承:无。属性:名称:identifier定义:attribute DOMString identifier说明:标识符。名称;name定义:attribute DOMString name说明:名称。名称:type定义:attribute StyleType type说明:式样类型。为枚举类型,取值可为:UOFDEFAU
24、LT系统默认UOFCUSTOM用户定义8AUTO自动名称:alias定义:attribute DOMString alias说明:别名。名称:styleRef定义:attribute IStyleBase styleRef说明:基式样。方法:无。552颜色IColor继承:IStyleBase属性:名称:red定义:attribute unsigned long red说明:红色成分。名称:red定义:attribute unsigned long green说明:绿色成分。名称:red定义:attribute unsigned long blue说明:蓝色成分。名称:alpha定义:attr
25、ibute unsigned long alpha说明:a通道。方法:无。553线式样ILineStyle继承:IStyleBase属性:名称:lineType定义:attribute LineType lineType说明:线型。为枚举类型,取值可为:SOLID实线DASH虚线DOT点线DASHDOT虚点线DOUBLELINE双戈线名称:width定义:attribute short width说明:线宽度。名称;color定义:attribute IColor color说明:颜色。GBT 2 1 026-2007GBT 21026-2007名称:length定义:attribute un
26、signed long length说明:长度。名称:isWithShadow定义:attribute boolean isWithShadow说明:是否有阴影。方法:无。554箭头式样IArrowStyle继承:IStyleBase属性:名称:style定义:attribute DOMString style说明:箭头种类。名称:size定义:attribute short size说明:箭头大小。555边框式样IBorderStyle继承:lStyleBase属性:名称:top定义:attribute ILineStyle top说明:上边线。名称:bottom定义:attribute I
27、LineStyle bottom说明:下边线。名称:left定义:attribute ILineStyle left说明:左边线。名称:right定义:attribute ILineStyle right说明;右边线。名称:TL2BR定义:attribute ILineStyle TL2BR说明:左上至右下对角线。名称:TR2BL定义:attribute ILineStyle TR2BL说明:右上至左下对角线。方法:无。556边距IMargin继承:IStyleBase属性:1 0名称:top定义:attribute float top说明:上边距。名称:bottom定义:attribute
28、float bottom说明:下边距。名称:left定义:attribute float left说明:左边距。名称:right定义:attribute float right说明:右边距。方法:无。557字体IFontStyle继承:IStyleBase属性:名称:familyName定义:attribute DOMString familyName说明:字体族。方法:无。558字体集IFontStyleSet继承:Uof_base:IContainer,ud_base:IElement属性:无。方法:IFontStyle getFontByID(in DOMString identifie
29、r)说明:根据标识符获得字体声明。参数:identifier为字体标识符。返回:字体对象。lFontStyle getFontByName(in DOMString name)说明:根据名称获得字体声明。参数:name为字体名称。返回:字体对象。559超级链接IHyperlink继承:无。属性:名称:identifier定义:DOMString identifier说明:标识符。GBT 2 1 026-2007舱_看甜gm_苫。尝-镑称义明名定说GBT 2 1 0262007名称:target定义:attribute DOMString target说明:目标。名称:bookmark定义:at
30、tribute DOMString bookmark说明:书签。名称:styleRef定义:attribute DOMString styleRef说明:式样引用。名称:visitedStyleRef定义:attribute DOMString visitedStyleRef说明:已访问式样引用。名称:showText定义:attribute DOMString showText说明:提示。名称:linkSource定义:attribute DOMString linkSouree说明:链源。方法:无。551 0链接集IHyperlinkSet继承:IStyleBase,uofbase:IEl
31、ement属性:无。方法:IHyperlink getHyperlink(in DOMString identifier)说明:根据标识符获取超级链接。参数:identifier为超级链接标识符。返回:超级链接对象。551 1 自动编号式样IAutoNumStyle继承:IStyleBase,uofbase:IElement属性:名称:level定义:attribute unsigned short level说明:级别。名称:symbolFont定义:attribute IFontStyle symbolFont说明:符号字体。名称:hyperlink定义:attribute IHyperl
32、ink hyperlink说明:超级链接。名称:numberStyle定义:attribute NumberStyle numberStyle说明:编号格式。名称:numberFormat定义:attribute DOMString numberFormat说明:编号格式表示。名称:pic定义:attribute DOMString pic说明:图片符号。名称:alignment定义:attribute DOMString alignment说明:编号对齐方式。名称:leftlndent定义:attribute float leftIndent说明:左缩进值。名称:lineIndent定义:a
33、ttribute float linelndent说明:行缩进值。名称:tabStopPos定义;attribute float tabStopPos说明:制表位置。名称:startNumber定义:attribute short startNumber说明:起始编号。名称:followChar定义:attribute DOMString followChar说明:尾随字符。名称:isFormal定义:attribute boolean isFormal说明:是否使用正规格式。方法:无。5512自动编号式样集IAutoNumStyleSet继承:uoLbase:IContainer属性:无。方
34、法:IAutoNumStyle getAutoNumStyleByID(in DOMString identifier)说明:根据标识符获得自动编号式样。参数:identifier为自动编号式样标识符。返回:自动编号式样对象。IAutoNumStyle getAutoNumStyleByName(in DOMString name)说明:根据名称获得自动编号式样。GBT 21026-2007GBT 2 1 026-2007参数:identifier为自动编号式样名称。返回:自动编号式样对象。 。5513字下划线式样IUnderlineStyle继承:IStyleBase属性:名称:lineTy
35、pe定义:attribute ILineStyle lineStyle说明:线式样。名称:isWithUnderline定义:attribute boolean isWithUnderline说明:true为显示下划线,否则不显示。方法:无。551 4着重号式样IEmphasisStyle继承:IStyleBase属性:名称:color定义:attribute IColor color说明:颜色。名称:markType定义:attribute DOMString markType说明:符号类型。名称:isWithEmphasis定义:attribute boolean isWithEmphas
36、is说明:带否显示着重号。方法:无。5515句式样ITextRunStyle继承:IStyleBase,uoLbase:IElement属性:名称:font定义:attribute IFontStyle font说明:字形。名称:isBold定义:attribute boolean isBold说明:是否粗体。名称:isltalic定义:attribute boolean isItalic说明:是否斜体。名称:highlightCol定义:attribute IColor highlightCol说明:突出显示所用颜色。名称:border】4定义:attribute IBorderStyle
37、border说明:边框。名称:fill定义:attribute IFillStyle fill说明:填充。名称:strike定义:attribute DOMString strike说明:删除线。名称:underline定义;attribute IUnderlineStyle underline说明:下划线。名称:emphasis定义:attribute IEmphasisStyle emphasis说明:着重号。名称:isHidden定义:attribute boolean isHidden说明:是否隐藏文字。名称:isoutline定义:attribute boolean isoutlin
38、e说明:是否空心。名称:embossVal定义:attribute DOMString embossVal说明:浮雕效果。名称:isShadowed定义:attribute DOMString isShadowed说明;是否带阴影。名称:transform定义:attribute DOMString transform说明:醒目字体。名称:position定义:attribute float position说明:上下标位置。名称:scale定义:attribute float scale说明:缩放值。名称:spacing定义:attribute float spacing说明:字符间距。名称
39、:kerningGBT 21026-200715GBT 2 1 026-2007定义:attribute float kerning说明:字符间距调整。名称:isSnapToGrid定义:attribute boolean isSnapToGrid说明:字符对齐网格。方法:无。5516句式样集ITextRunStyleSet继承:UOLbase:IContainer属性:无。方法:ITextRunStyle getTextRunStyleByID(in DOMString identifier)说明:根据标识符获得句式样。参数:identifier为旬式样标识符。返回:句式样对象。ITextR
40、unStyle getTextRunStyleByName(in DOMString name)说明:根据名称获得句式样。参数:name为句式样名称。返回:句式样对象。5517段落式样IParagraphStyle继承:IStyleBase,UOLbase:IElement属性:名称:TextRunStyle定义:attribute ITextRunStyle TextRunStyle说明:缺省句式样。名称:outlineNumber定义:attribute DOMString outlineNumber说明:大纲级别。名称:LRAlignment定义:attribute DOMString
41、LRAlignment说明:水平对齐。名称:textAlignment定义:attribute DOMString textAlignment说明:文字对齐。名称:leftIndent定义:attribute float ieftIndent说明:左缩进。名称;rightIndent定义:attribute float rightIndent说明:右缩进。名称:lineIndent定义:attribute float linelndent16说明:首行缩进。名称:linespacingType定义:attribute DOMString lineSpacingType说明:行间距类型。名称:l
42、ineSpacing定义:attribute float lineSpacing说明:行距。名称:beforeSpacing定义:attribute float beforeSpacing说明:段前距。名称:afterSpacing定义:attribute float afterSpacing说明:段后距。名称:autoNumStyle定义:attribute IAutoNumStyle autoNumStyle说明:编号式样。名称:level定义:attribute unsigned short level说明:编号级别。名称:startNumber定义:attribute unsigned
43、 short startNumber说明:起始编号。名称:isRenumbering定义:attribute boolean isRenumbering说明:是否重新编号。名称:orphans定义:attribute DOMString orphans说明:孤行控制。名称:widows定义:attribute DOMString widows说明:寡行控制。名称:isNoBreak定义:attribute boolean isNoBreak说明:段中不分页。名称:isSamePageWithNext定义:attribute boolean isSamePageWithNext说明:与下段同页。
44、名称:isBreakBefore定义:attribute boolean isBreakBeforeGBT 2 1 026-2007GBT 21026-2007说明:段前分页。名称:border定义:attribute IBorderStyle border说明:边框。名称:fillStyle定义:attribute IFillStyle fillStyle说明:填充式样。名称:tabStopPos定义:attribute float tabStopPos说明:制表位置。名称:isSnapToGrid定义:attribute boolean isSnapToGrid说明:对齐网格。名称:isS
45、uppressHyphenate定义:attribute boolean issuppressIyphenate说明:是否取消断字。名称:isSuppressLineNumber定义:attribfite boolean isSuppressLineNumber说明:是否取消行号。名称:isAllowWordBreak定义:attribute boolean isAllowWordBreak说明;允许单词断字。名称:isApplyForbiddenRule定义:attribute boolean isApplyForbiddenRule说明:是否使用禁则。名称:isPunetuationCom
46、press定义:attribute boolean isPunctuationCompress说明;是否标点压缩。名称:isApplyChineseRule定义:attribute boolean isApplyChineseRule说明:是否使用中文习惯。名称:isWestEastCharAutoSpace定义:attribute boolean isWestEastCharAutoSpaee说明:自动调整中英文字间距。名称:isWestEastNumAutoSpace定义:attribute boolean isWestEastNumAutoSpace说明:自动调整中文与数字间距。ey鼾X
47、雌eyShpm略扑Pke竹叶晤m旺叶na称义名定说明:后继式样引用。方法:无。5518段落式样集IParagraphStyleSet继承:UOLbase:IContainer属性:无。方法:IParagraphStyle getParagraphStyleByID(in DOMString identifier)说明:根据标识符获得段落式样。参数:identifier为段落式样标识符。返回:段落式样对象。IParagraphStyle getParagraphStyIeByName(in DOMString name)说明:根据名称获得段落式样。参数:name为段落式样名称。返回:段落式样对象
48、。5519文字表式样ITaxtTableStyle继承:IStyleBase,UOf_lbase:IElement属性:名称:width定义:attribute unsigned short width说明:宽度。名称:alignment定义:attribute boolean alignment说明:是否对齐。名称:leftIndent定义:attribute unsigned short leftlndent说明:左缩进。名称:wrap定义:attribute DOIM String wrap说明:绕排。名称:HPcs定义:attribute float HPos说明:水平位置。名称:VPos定义:attribute f