本标准中 XML 文档使用的命名空间为 http://www.ofdspec.org,其标识符宜为 ofd;宜在包内各 XML 文档的根节点中声明 defaults:ofd。元素节点宜使用命名空间标识,元素属性不使用命名空间标识。
本标准中 xml 文件编码方式采用 UTF-8。
类型 | 说明 | 示例 |
---|---|---|
ST_Loc | 包结构内文件的路径,“.”表示当前路径,“..”表示父路径。 约定: 1、“/”代表根节点 2、未显式指定时代表当前路径 3、路径区分大小写 |
“/Pages/P1/Content.xml” “./Res/Book1.jpg” 当前路径 “../Pages/P1/Res.xml” “Pages/P1/Res.xml”当前路径 |
ST_Array | 数组,以空格来分割元素。元素可以是除 ST_Loc、ST_Array 外的数据类型, 不可嵌套,在描述时可能会有元素数量和范围的限定 |
“1 2.0 5.0” |
ST_ID | 标识,无符号整数,应在文档内唯一。0 表示无效标识 | “1000” |
ST_RefID | 标识引用,无符号整数,此标识应为文档内已定义的标识 | “1000” |
ST_Pos | 点坐标,以空格分割,前者为 x 值,后者为 y 值,可以是整数或者浮点数 | “0 0” |
ST_Box | 矩形区域,以空格分割,前两个值代表了该矩形的左上角的坐标,后两个值依次表示该矩形的宽和高, 可以是整数或者浮点数,后两个值应大于 0 |
“10 10 50 50” |
OFD.xml文件的结构如图3所示
OFD主入口属性说明表见表3.
名称 | 类型 | 说明 | 备注 | 连接 |
---|---|---|---|---|
Version | string | 文件格式的版本号,取值1.0 | 必选 | |
DocType | string | 取值OFD,表面此文件符合OFD存档规范 | 必选 | |
DocBody | List | 文件对象入口,可以存在多个DocBody对象,以便在一个文档中包含多个板式文件 | 必须 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:OFD xmlns:ofd="http://www.ofdspec.org/2016" DocType="OFD" Version="1.1">
<ofd:DocBody>
<ofd:DocInfo>
<ofd:DocID>671b63f4fd7943ca8fa13a9257cb18b8</ofd:DocID>
<ofd:CreationDate>2022-03-17</ofd:CreationDate>
</ofd:DocInfo>
<ofd:DocRoot>Doc_0/Document.xml</ofd:DocRoot>
<ofd:Signatures>Doc_0/Signs/Signatures.xml</ofd:Signatures>
</ofd:DocBody>
</ofd:OFD>
DocBody结构如图
DocBody的属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
DocInfo | CT_DocInfo | 文档元数据信息描述 | 必选 | 7.4.1 文件对象入口 |
DocRoot | ST_Loc | 指向文档根节点文档 | 必选 | 7.5 文档根节点 |
Signatures | ST_Loc | 指向该文档中签名和签章结构 | 可选 | 18 数字签名 |
待完善 | 可选 | -- |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:OFD xmlns:ofd="http://www.ofdspec.org/2016" DocType="OFD" Version="1.1">
<ofd:DocBody>
<ofd:DocInfo>
<ofd:DocID>671b63f4fd7943ca8fa13a9257cb18b8</ofd:DocID>
<ofd:CreationDate>2022-03-17</ofd:CreationDate>
</ofd:DocInfo>
<ofd:DocRoot>Doc_0/Document.xml</ofd:DocRoot>
<ofd:Signatures>Doc_0/Signs/Signatures.xml</ofd:Signatures>
</ofd:DocBody>
</ofd:OFD>
DocInfo文件元数据结构如图4所示
名称 | 类型 | 说明 | 备注 | 连接 |
---|---|---|---|---|
DocID | string | 采用 UUID 算法生成的由 32 个字符组成的文件标识。每个 DocID在文档创建或生成的时候进行分配 | 必选 | |
Title | string | 文档的标题。标题可以与文件名不同 | 可选 | |
Author | string | 文档的作者 | 可选 | |
Subject | string | 文档的作者 | 可选 | |
Abstract | string | 文档的摘要与注释 | 可选 | |
CreationDate | date | 文档的创建日期 | 可选 | |
ModDate | date | 文档的最近修改日期 | 可选 | |
DocUsage | string | 文档的分类,可取值如下:Normal - 普通文档 Book - 电子图书 NewsPaper - 电子报纸 Magzine - 电子期刊杂志 | 可选 | |
Cover | ST_Loc | 文档的封面,此路径指向一个图片文件 | 可选 | |
Keywords | 关键词集合,每一个关键词用一个“Keyword”子节点来表达 | 可选 | ||
Keyword | string | 关键词 | 必选 | |
Creator | string | 创建文档的应用程序 | 可选 | |
CreatorVersion | string | 创建文档的应用程序的版本信息 | 可选 | |
CustomDatas | 用户自定义元数据集合。其子节点为 CustomData | 可选 | ||
CustomData | string | 用户自定义元数据,可以指定一个名称及其对应的值 | 必选 | |
Name | string | 用户自定义元数据名称 | 必选 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:OFD xmlns:ofd="http://www.ofdspec.org/2016" DocType="OFD" Version="1.1">
<ofd:DocBody>
<ofd:DocInfo>
<ofd:DocID>671b63f4fd7943ca8fa13a9257cb18b8</ofd:DocID>
<ofd:CreationDate>2022-03-17</ofd:CreationDate>
</ofd:DocInfo>
</ofd:DocBody>
</ofd:OFD>
文档根节点结构如图5所示。
文档根节点属性说明表见表5.
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
CommonData | CT_CommonData | 文档公共数据,定义了页面区域、公共资源等数据 | 必选 | 7.5.1 文档公共数据结构 |
Pages | List | 页树 | 必选 | 7.6 页树 |
Outlines | List | 大纲 | 可选 | 7.8 大纲 |
Permissions | CT_Permission | 文档权限 | 可选 | 7.5.3 文档权限 |
Actions | List | 文档关联的动作序列,当存在多个Action、对象时,所有动作依此执行 | 可选 | 14 动作 |
Action | CT_Action | 文档关联的动作,事件类型应为DO | 必选 | 14 动作 |
VPreferences | CT_VPreferences | 文档的视图首选项 | 可选 | 7.5.4 文档视图首选项 |
Bookmarks | List | 文档的书签集,包含一组书签 | 可选 | 7.5.5 书签 |
Bookmark | CT_Bookmark | 文档的书签 | 可选 | 7.5.5 书签 |
Attachments | ST_Loc | 指向附件列表文件 | 可选 | 20 附件 |
Annotations | ST_Loc | 指向注释 | 可选 | 15 注释 |
CustomTags | ST_Loc | 指向自定义标引列表文件 | 可选 | 16 自定义标签 |
Extensions | ST_Loc | 指向扩展列表文件 | 可选 | 17 扩展信息 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Document xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:CommonData>
<ofd:MaxUnitID>47</ofd:MaxUnitID>
<ofd:TemplatePage ID="2" BaseLoc="Tpls/Tpl_0/Content.xml"/>
<ofd:PageArea>
<ofd:PhysicalBox>0 0 210 297</ofd:PhysicalBox>
</ofd:PageArea>
<ofd:PublicRes>PublicRes.xml</ofd:PublicRes>
<ofd:DocumentRes>DocumentRes.xml</ofd:DocumentRes>
</ofd:CommonData>
<ofd:Pages>
<ofd:Page ID="1" BaseLoc="Pages/Page_0/Content.xml"/>
</ofd:Pages>
<ofd:Attachments>Attachs/Attachments.xml</ofd:Attachments>
</ofd:Document>
文档公共数据结构如图6所示。
图6 文档公共数据结构
文档公共数据属性说明见表6.
表6 文档公共数据结构属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
MaxUnitID | ST_ID | 当前文档中所有对象使用标识的最大值,初始值为0 | 必选 | |
PageArea | CT_PageArea | 指定该文档页面区域的默认大小和位置 | 必选 | 7.5.2 页面区域结构 |
PublicRes | ST_LOC | 公共资源序列,每个节点指向OFD保内一个资源描述文档,资源部分的见7.9,字形和颜色空间等宜在公共资源文件中描述 | 可选 | 7.9 资源 |
DocumentRes | ST_LOC | 文档资源序列,每个节点指向OFD保内一个资源描述文档,资源部分的见7.9,绘制参数、多媒体和矢量图像宜在文档资源文件中描述 | 可选 | 7.9 资源 |
TemplatePage | ST_LOC | 模版页序列,为一系列模版的集合,模板页内容结构和普通页相同 | 可选 | 7.7.1 模版页 |
DefaultCS | ST_RefID | 引用在资源文件中定义的颜色空间标识,有关颜色空间的见8.3.1.如果此项不存在,采用RGB作为默认颜色空间 | 可选 | 8.3.1 颜色空间 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Document xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:CommonData>
<ofd:MaxUnitID>47</ofd:MaxUnitID>
<ofd:TemplatePage ID="2" BaseLoc="Tpls/Tpl_0/Content.xml"/>
<ofd:PageArea>
<ofd:PhysicalBox>0 0 210 297</ofd:PhysicalBox>
</ofd:PageArea>
<ofd:PublicRes>PublicRes.xml</ofd:PublicRes>
<ofd:DocumentRes>DocumentRes.xml</ofd:DocumentRes>
</ofd:CommonData>
<ofd:Pages>
<ofd:Page ID="1" BaseLoc="Pages/Page_0/Content.xml"/>
</ofd:Pages>
<ofd:Attachments>Attachs/Attachments.xml</ofd:Attachments>
</ofd:Document>
页面区域结构如图7所示。
图7 页面区域结构
页面区域结构属性见表7.
图7 页面区域属性
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
PhysicalBox | ST_Box | 页面物理区域,左上角的坐标为页面空间坐标系的原点 | 必选 |
ApplicationBox | ST_Box | 显示区域,页面内容实际显示或打印输出的区域,位于页面物理区域内,包含页眉、页脚、版心等内容。 例外处理如果显示区域不完全位于页面物理区域内,页面物理区域外的部分则被忽略。如果显示区域完全位于页面物理区外,则该页为空白页 |
可选 |
ContentBox | ST_Box | 版心区域,即文件的正文区域,位于显示区域内。左上角的坐标决定了其在显示区域内的位置。 例外处理如果版心区域不完全位于显示区域内,显示区域外的部分则被忽略。如果版心区域完全位于显示区域外,则版心内容不被绘制 |
可选 |
BleedBox | ST_Box | 出血区域,即超出设备物理限制的额外出血区域,位于页面物理区域外。不出现时,默认值为页面物理区域。 例外处理如果出血区域不完全位于页面物理区域外,页面物理区域内的部分则被忽略。如果出血区域完全位于页面物理区域内,出血区域无效 |
可选 |
图8 页边界层次结构
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Document xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:CommonData>
<ofd:MaxUnitID>47</ofd:MaxUnitID>
<ofd:TemplatePage ID="2" BaseLoc="Tpls/Tpl_0/Content.xml"/>
<ofd:PageArea>
<ofd:PhysicalBox>0 0 210 297</ofd:PhysicalBox>
</ofd:PageArea>
<ofd:PublicRes>PublicRes.xml</ofd:PublicRes>
<ofd:DocumentRes>DocumentRes.xml</ofd:DocumentRes>
</ofd:CommonData>
<ofd:Pages>
<ofd:Page ID="1" BaseLoc="Pages/Page_0/Content.xml"/>
</ofd:Pages>
<ofd:Attachments>Attachs/Attachments.xml</ofd:Attachments>
</ofd:Document>
本标准支持设置文档权限声明(Permissions)节点,以达到文档防扩散等应用目的。文档权限声明结构如图9所示。
图9 文档权限声明结构
文档权限声明相关属性说明见表8。
表8 页边界层次结构
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
Edit | boolean | 是否允许编辑,默认值为true | 可选 | |
Annot | boolean | 是否允许添加或修改标注,默认值为true | 可选 | |
Export | boolean | 是否允许导出,默认值为true | 可选 | |
Signature | boolean | 是否允许进行数字签名,默认值为true | 可选 | |
WaterMark | boolean | 是否允许添加水印,默认值为true | 可选 | |
PrintScreen | boolean | 是否允许截屏,默认值为true | 可选 | |
打印权限,具体的权限和份数设置由其属性Printbale和Copies控制,若不设置Print节点,则默认为可以打印,并且打印份数不受限制 | 可选 | |||
Printable | boolean | 文档是否允许被打印,默认值为true | 可选 | |
Copies | int | 打印份数,在Printable为true时有效,若在Printable为true农并且不设置Copies则打印份数不受限, 若Copies的值为负值时,打印份数不受限,但值为0时,不允许打印,当copies的值大于0时,则代表实际可打印的份数纸 |
可选 | |
ValidPeriod | 有效期,既此文档允许访问的期限,其具体的期限取决于开始日期和结束日期,其中开始日期不能晚于结束日期 | 可选 | ||
StartDate | dateTime | 有效开始日期 | 可选 | |
EndDate | dateTime | 有效结束日期 | 可选 |
本标准支持设置文档视图首选项(VPreferences)节点,以达到限定文档初始化视图便于阅读的目标。文档视图首选项结构如图10所示。
图10 视图首选项结构
文档视图首选项属性见表9。
表9 视图首选项属性
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
PageMode | string | 窗口模式,可取值如下: None -- 常规模式 --默认 FullScreen -- 打开后全文展示 UseOutlines-- 同时呈现文档大纲 UseThumbs --同时呈现缩略图 UserCustomTags --同时呈现语义结构 UseLayers --同时呈现图层 UseAtttchs --同时呈现附件 UseBookmarks --同时呈现书签 |
可选 |
PageLayout | string | 页面布局模式,可取值如下: OnePage -- 单页模式 OneColumn -- 单列模式 --默认 TwoPageL-- 对开模式 TwoColumnL --对开连续模式 TwoPageR --对开靠右模式 TwoColumnR --对开连续靠右模式 UseAtttchs --同时呈现附件 UseBookmarks --同时呈现书签 |
可选 |
TabDispaly | string | 标题栏显示模式,可取值如下: FileName -- 文件模式 --默认 DocTitle -- 呈现元数据中的Title属性 |
可选 |
HideToolbar | boolean | 是否隐藏工具栏,默认false | 可选 |
HideMenubar | boolean | 是否隐藏菜单栏,默认false | 可选 |
HideWindowUI | boolean | 否隐藏主窗口之外的其他窗体组件,默认false | 可选 |
ZoomMode | boolean | 自动缩放模式,可取值如下: Default -- 默认缩放 --默认 FitHeight -- 适合高度 FitWidth-- 适合宽度 FitRect --适合区域 |
可选 |
Zoom | double | 文档的缩放率 | 可选 |
本标准支持书签,可以将常用位置定义为书签,文档可以包含一组书签。书签结构如图11所示。
图11 书签结构
书签相关属性说明见表10。
表10 书签属性和节点说明
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
Name | string | 书签名称 | 必选 | |
Dest | CT_Dest | 书签对应的文档位置 | 必选 | 14.2 目标区域 |
页树结构如图12所示。
表12 页树结构
页树属性说明见表11。
表11 页树属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
Page | 页节点。一个页树中可以包含一个或多个页节点,页顺序是根据页树进行前序遍历时叶节点的访问顺序 | 必选 | ||
ID | ST_ID | 声明该页的标识,不能与已有标识重复 | 必选 | |
BaseLoc | ST_Loc | 指向页结构描述文件 | 必选 |
注意页树和页对象的差异。
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Document xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:CommonData>
<ofd:MaxUnitID>47</ofd:MaxUnitID>
<ofd:TemplatePage ID="2" BaseLoc="Tpls/Tpl_0/Content.xml"/>
<ofd:PageArea>
<ofd:PhysicalBox>0 0 210 297</ofd:PhysicalBox>
</ofd:PageArea>
<ofd:PublicRes>PublicRes.xml</ofd:PublicRes>
<ofd:DocumentRes>DocumentRes.xml</ofd:DocumentRes>
</ofd:CommonData>
<ofd:Pages>
<ofd:Page ID="1" BaseLoc="Pages/Page_0/Content.xml"/>
</ofd:Pages>
<ofd:Attachments>Attachs/Attachments.xml</ofd:Attachments>
</ofd:Document>
页对象支持模板页描述,每一页经常需要重复显示的内容可统一在模板页中描述,文档可以包含多个模板页。通过使用模板页可以使重复显示的内容不必出现在描述每一页的页面描述内容中,而只需通过模板节点进行引用,页对象结构如图13所示。
图13 页对象结构
表12 页对象属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
Template | 该页所使用的模板页。模板页的结构和页结构相同,定义在 Co 毫米 onData 指定的档中,一个页可以使用多个模板页,使用 时通过 TemplateID指定具体的模板,并通过 ZOrder 属性来 控制模板在页面中的呈现顺序。 备注:在模板页的页结构描述中该属性无效 |
可选 | 7.7.1 模板页 | |
TemplateID | ST_RefID | 通过 ST_RefID 引用公用数据类型中定义的模板页 | 必选 | |
ZOrder | string | 控制模板在页面中的呈现顺序,其类型描述和呈现顺序与 Layer 中 Type 的描述和处理一致。如果此属性相等,则应根据其出现的顺序来显示,先出现者先绘制。 默认值为 Background |
可选 | |
Area | CT_PageArea | 定义该页页面区域的大小和位置,仅对该页有效。该节点不出现时 则使用模板页中的定义,如果模板页不存在或模板页中没有定义 页面区域则使用文件 CommonData 中的定义 |
可选 | 7.5.2 页面区域结构 |
PageRes | ST_Loc | 页资源,指向该页使用的资源文件 | 可选 | 7.9 资源 |
Content | 页面内容描述。该节点不存在时,表示空白页 | 可选 | ||
Layer | CT_Layer | 层节点,可以包含一个或多个层 | 可选 | 7.7.2 层 |
Actions | 与页面关联的动作序列。当存在多个Actiong对象时,所有动作依次执行 | 可选 | 14 动作 | |
Action | CT_Action | 与页面关联的动作,事件类型应为PO | 必选 |
注意模板与模版页是不同的。
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Page xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:Area>
<ofd:PhysicalBox>0 0 210 140</ofd:PhysicalBox>
</ofd:Area>
<ofd:Template ZOrder="Background" TemplateID="6"></ofd:Template>
<ofd:Template TemplateID="71" ZOrder="Background"></ofd:Template>
<ofd:Content>
<ofd:Layer ID="7">
<ofd:TextObject ID="8" Boundary="9 16.4217 74.1594 5.8975" Font="9" Size="4.2333">
<ofd:FillColor Value="0 0 0" ColorSpace="10"></ofd:FillColor>
<ofd:TextCode Y="3.8144" DeltaX="4.2333 4.2333 4.2333 4.2333 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1166 2.1167 2.1166 2.1166">发票号码:24119221152000000086</ofd:TextCode>
</ofd:TextObject>
<ofd:TextObject ID="11" Boundary="160.7874 16.4217 48.7596 5.8975" Font="9" Size="4.2333">
<ofd:FillColor Value="0 0 0" ColorSpace="10"></ofd:FillColor>
<ofd:TextCode Y="3.8144" DeltaX="4.2333 4.2333 4.2333 4.2333 2.1167 2.1167 2.1167 2.1166 2.1167 2.1167 2.1166 2.1167 2.1167 2.1167">开票日期:2024-02-29</ofd:TextCode>
</ofd:TextObject>
</ofd:Layer>
</ofd:Content>
</ofd:Page>
模板页结构如图14所示。
图14 模板页结构
模板页属性说明见表13。
表13 模板页属性
名称 | 类型 | 说明 | 备注 | 连接 | 章节 |
---|---|---|---|---|---|
ID | ST_ID | 模板页的标识,不能与已有标识重复 | 必须 | ||
BaseLoc | ST_Loc | 指向模板页结构描述文件 | 必须 | ||
Name | string | 模板页名称 | 可选 | ||
ZOrder | string | 控制模板在页面中的呈现顺序,其类型描述和呈现顺序与 Layer 中 Type 的描述和处理一致。如果此属性相等,则应根据其出现的顺序来显示,先出现者先绘制。 默认值为 Background |
可选 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Document xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:CommonData>
<ofd:MaxUnitID>47</ofd:MaxUnitID>
<ofd:TemplatePage ID="2" BaseLoc="Tpls/Tpl_0/Content.xml"/>
<ofd:PageArea>
<ofd:PhysicalBox>0 0 210 297</ofd:PhysicalBox>
</ofd:PageArea>
<ofd:PublicRes>PublicRes.xml</ofd:PublicRes>
<ofd:DocumentRes>DocumentRes.xml</ofd:DocumentRes>
</ofd:CommonData>
<ofd:Pages>
<ofd:Page ID="1" BaseLoc="Pages/Page_0/Content.xml"/>
</ofd:Pages>
<ofd:Attachments>Attachs/Attachments.xml</ofd:Attachments>
</ofd:Document>
图层结构如图15所示。
图15 模板结构
图层属性说明见表14。
表14 图层属性
名称 | 类型 | 说明 | 备注 | 连接 |
---|---|---|---|---|
ID | ST_ID | 不能与已有标识重复 | 必须 | |
Type | string | 层类型描述,预定义的值见表15 ,默认为 Body | 可选 | |
DrawParam | ST_RefID | 图层绘制的参数,引用资源文件中定义的绘制参数标识 | 可选 | 8.2.1 绘制参数 |
图层类型Type的取值范围说明见表15
表15 Type的取值范围
值 | 说明 |
---|---|
Body | 正文层 |
Foreground | 前景层 |
Background | 背景层 |
正文层、前景层、背景层形成了多层内容,这些层按照出现的先后顺序依次进行渲染,每一层的默认颜色采用全透明。层的渲染顺序如图所示。
图16 图层渲染顺序
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Page xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:Area>
<ofd:PhysicalBox>0 0 209.9733 139.9117</ofd:PhysicalBox>
</ofd:Area>
<ofd:Content>
<ofd:Layer ID="3">
<ofd:PathObject ID="4" CTM="0.3528 0 0 0.3528 0 -0.0007" Boundary="0 0 210.0016 105.0008" Stroke="false" Fill="true" Rule="Even-Odd">
<ofd:FillColor Value="219 241 245"/>
<ofd:AbbreviatedData>M 0 297.64 L 595.28 297.64 L 595.28 0 L 0 0 C </ofd:AbbreviatedData>
</ofd:PathObject>
<ofd:PathObject ID="5" CTM="0.3528 0 0 0.3528 0 0" Boundary="0 104.9999 210.0016 35.0001" Stroke="false" Fill="true" Rule="Even-Odd">
<ofd:FillColor Value="161 220 233"/>
<ofd:AbbreviatedData>M 0 99.213 L 595.28 99.213 L 595.28 0 L 0 0 C </ofd:AbbreviatedData>
</ofd:PathObject>
<ofd:PathObject ID="6" Boundary="10 120 190.3589 13.3526" Stroke="false" Fill="true">
<ofd:FillColor Value="0 0 0"/>
<ofd:AbbreviatedData>M 0 13.1762 L 0 ... C </ofd:AbbreviatedData>
</ofd:PathObject>
</ofd:Layer>
</ofd:Content>
</ofd:Page>
页面块结构如图17所示。
图17 页面块结构
页面块属性和节点说明见表16
表16 页面块属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
PageBlock | CT_PageBlock | 子页面块,可以嵌套 | 必选 | |
TextObject | CT_Text | 文字对象 | 必选 | 11 文字 |
PathObject | CT_Path | 图形对象 | 必选 | 9 图形 |
ImageObject | CT_Image | 图像对象 | 必选 | 10 图像 |
CompositeObject | CT_CompositeObject | 复合对象 | 必选 | 13 复合对象 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Page xmlns:ofd="http://www.ofdspec.org/2016">
<ofd:Area>
<ofd:PhysicalBox>0 0 209.9733 139.9117</ofd:PhysicalBox>
</ofd:Area>
<ofd:Content>
<ofd:Layer ID="3">
<ofd:PathObject ID="4" CTM="0.3528 0 0 0.3528 0 -0.0007" Boundary="0 0 210.0016 105.0008" Stroke="false" Fill="true" Rule="Even-Odd">
<ofd:FillColor Value="219 241 245"/>
<ofd:AbbreviatedData>M 0 297.64 L 595.28 297.64 L 595.28 0 L 0 0 C </ofd:AbbreviatedData>
</ofd:PathObject>
<ofd:PathObject ID="5" CTM="0.3528 0 0 0.3528 0 0" Boundary="0 104.9999 210.0016 35.0001" Stroke="false" Fill="true" Rule="Even-Odd">
<ofd:FillColor Value="161 220 233"/>
<ofd:AbbreviatedData>M 0 99.213 L 595.28 99.213 L 595.28 0 L 0 0 C </ofd:AbbreviatedData>
</ofd:PathObject>
<ofd:PathObject ID="6" Boundary="10 120 190.3589 13.3526" Stroke="false" Fill="true">
<ofd:FillColor Value="0 0 0"/>
<ofd:AbbreviatedData>M 0 13.1762 L 0 ... C </ofd:AbbreviatedData>
</ofd:PathObject>
</ofd:Layer>
</ofd:Content>
</ofd:Page>
大纲按照树状结构进行组织,大纲根节点结构如图18所示
图18 大纲根节点结构
大纲节点结构如图19所示
图19 大纲根节点结构
大纲根节点说明见表17.
表17 大纲根节点
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
Title | string | 大纲节点标题 | 必选 | |
Count | int | 该节点下所有叶节点的数目参考值,应根据该节点下实 际出现的子节点数为准。默认值为 0 |
可选 | |
Expanded | boolean | 在有子节点存在时有效,如果为 true,表示该大纲在初 始状态下展开子节点;如果为 false,则表示不展开。默认值为 true |
可选 | |
Actions | CT_Actions | 当此大纲节点被启动时将执行的动作 | 可选 | 14 动作 |
OutlineElem | CT_OutlineElem | 大纲节点,层层嵌套,形成树状结构 | 可选 |
资源是对像素绘制时所需数据(如绘制参数、颜色空间、字体、图像、音视频等)的集合。在页面中出现的资源数据内容都保存在容器的特定文件中,通常要求组织在相应的文件夹内,但其索引信息保存在资源文件中。一个文档可能包含一个或多个资源文件。资源根据其作用范围分为公共资源和页资源。公共资源文件在文档根档中进行指定。页资源文件在页结构中进行指定。
资源文件结构如图20所示。
图20 资源文件结构
资源文件属性说明见表18.
表18 资源文件属性
名称 | 类型 | 说明 | 备注 | 章节 |
---|---|---|---|---|
BaseLoc | ST_Loc | 定义此资源文件的通用数据存储路径,BaseLoc 属性的意义 在于明确资源文件存储的位置,比如 R1.xml 中可以指定 BaseLoc 为“./Res”,表明该资源文件中所有数据文件的 默认存储位置在当前路径的 Res 目录下 |
必选 | |
ColorSpaces | LIST | 包含了一组颜色空间的描述 | 可选 | 8.3.1 颜色空间 |
DrawParams | LIST | 包含了一组绘制参数的描述 | 可选 | 8.2.1 绘制参数 |
Fonts | LIST | 包含了一组文件所用字体的描述 | 可选 | 11 文字 |
MultiMedias | LIST | 包含了一组文件所用多媒体对象的描述 | 可选 | 7.9.1 基本结构 |
CompositeGraphicUnits | LIST | 包含了一组复合图元的描述 | 可选 | 13 复合对象 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Res xmlns:ofd="http://www.ofdspec.org/2016" BaseLoc="Res">
<ofd:MultiMedias>
<ofd:MultiMedia ID="14" Type="Image" Format="PNG">
<ofd:MediaFile>image_14.png</ofd:MediaFile>
</ofd:MultiMedia>
<ofd:MultiMedia ID="17" Type="Image" Format="PNG">
<ofd:MediaFile>image_17.png</ofd:MediaFile>
</ofd:MultiMedia>
<ofd:MultiMedia ID="37" Type="Image" Format="PNG">
<ofd:MediaFile>image_37.png</ofd:MediaFile>
</ofd:MultiMedia>
</ofd:MultiMedias>
</ofd:Res>
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Res xmlns:ofd="http://www.ofdspec.org/2016" BaseLoc="Res">
<ofd:Fonts>
<ofd:Font ID="8" FontName="宋体" FamilyName="宋体"/>
<ofd:Font ID="11" FontName="黑体" FamilyName="黑体" Bold="true"/>
<ofd:Font ID="22" FontName="等线" FamilyName="等线"/>
</ofd:Fonts>
</ofd:Res>
本标准中的资源包含以下类型:
- 字型;
- 颜色空间;
- 绘制参数;
- 矢量图像;
- 多媒体。
其中,多媒体结构如图21所示
图21 多媒体结构
多媒体属性说明见表19.
表19 多媒体属性
名称 | 类型 | 说明 | 备注 |
---|---|---|---|
Type | string | 多媒体的主类型。支持 Image, Video, Audio 三种多媒体类型 | 必选 |
Format | string | 资源的格式。图像主类型的文件格式支持 BMP、Jpeg、TIFF及PNG,其中 TIFF 格式不支持多页 | 可选 |
MediaFile | ST_Loc | 指向 OFD 包内的多媒体文件的位置 | 必选 |
参考XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofd:Res xmlns:ofd="http://www.ofdspec.org/2016" BaseLoc="Res">
<ofd:MultiMedias>
<ofd:MultiMedia ID="14" Type="Image" Format="PNG">
<ofd:MediaFile>image_14.png</ofd:MediaFile>
</ofd:MultiMedia>
<ofd:MultiMedia ID="17" Type="Image" Format="PNG">
<ofd:MediaFile>image_17.png</ofd:MediaFile>
</ofd:MultiMedia>
<ofd:MultiMedia ID="37" Type="Image" Format="PNG">
<ofd:MediaFile>image_37.png</ofd:MediaFile>
</ofd:MultiMedia>
</ofd:MultiMedias>
</ofd:Res>