OFD文档标准 2.主入口文档

国标的《电子文件存储与交换格式 版式文档》中将XML语言中的属性和元素混为一谈,看起来很乱。我自己按XML语法重新整理了一下。

主入口文档就是OFD文档解压后,其中的OFD.xml文档。

OFD根元素

OFD本身是一个根元素,其下有一个子元素DocBody
DocBody下面有4个子元素:

  • DocInfo:CT_DocInfo类型,文档元数据信息描述;必须
  • DocRoot:ST_Loc路径类型,指向文档根节点文档;必须
  • Versions:版本描述节点集合,用于定义文件因注释和其他改动产生的版本信息,包含Version子元素;非必须
    • Version:版本描述
  • Signatures:ST_Loc路径类型,指向该文档中签名和签章结构;非必须

OFD有2个属性:

  • Version:一般设为“1.0”
  • DocType:一般设为"OFD"
    OFD元素结构

OFD根元素的设置如下:

<ofd:OFD xmlnsofd:"http://www.ofdspec.org" DocType="OFD" Version="1.0">
	<ofd:DocBody>
		<ofd:DocInfo></ofd:DocInfo>
		<ofd:DocRoot></ofd:DocRoot>
		<ofd:Versions></ofd:Version>
		<ofd:Signature></ofd:Signature>
	</ofd:DocBody>
</ofd:OFD>

DocInfo与CT_DocInfo

DocInfo的类型是CT_DocInfo,是个复杂类型;该类型包含以下子元素:

  • DocID:采用UUID算法生成的由32个字符组成的文件表示。每个DocID在文档创建或生成的时候进行分配;非必须
  • Title:文档标题,可以和文件名不同;非必须
  • Author:文档作者;非必须
  • Subject:文档主题;非必须
  • Abstract:文档摘要与注释;非必须
  • CreationDate:文档创建日期;非必须
  • ModDate:文档最近修改日期;非必须
  • DocUsage:文档分类;非必须
  • Cover:ST_Loc路径类型,指向作为封面的图片文件。
  • Keywords:关键词集合,包含Keyword子元素;非必须
    • Keyword:关键词
  • Creator:创建文档的应用程序;非必须
  • CreatorVersion:创建文档的应用程序的版本信息;非必须
  • CustomDatas:用户自定义元数据集合,包含CustomData子元素;非必须
    • CustomData:用户自定义元数据,可以指定一个名称及其对应的值,包含Name属性
      • Name:用户自定义元数据名称
        DocInfo类型与结构

Versions和Version

Versions包含多个Version子元素;Version元素包含以下属性:

  • ID:版本标识;必须
  • Index:版本号;必须
  • Current:布尔类型,是否是默认版本,默认值为false;非必须
  • BaseLoc:ST_Loc路径类型,指向版本描述文件;必须
    Versions属性结构

OFD.xml文档示例

<?xml version="1.0" encoding="utf-8"?>
<ofd:OFD Version="1.0" DocType="OFD" xmlns:ofd="http://www.ofdspec.org/2016">
  <ofd:DocBody>
    <ofd:DocInfo>
      <ofd:DocID>DocID1</ofd:DocID>
      <ofd:Title>Title1</ofd:Title>
      <ofd:Author>Author1</ofd:Author>
      <ofd:Subject>Subject1</ofd:Subject>
      <ofd:Abstract>Abstract1</ofd:Abstract>
      <ofd:CreationDate>1900-01-01</ofd:CreationDate>
      <ofd:ModDate>1900-01-01</ofd:ModDate>
      <ofd:DocUsage>DocUsage1</ofd:DocUsage>
      <ofd:Cover>http://uri1</ofd:Cover>
      <ofd:Keywords>
        <ofd:Keyword>Keyword1</ofd:Keyword>
        <ofd:Keyword>Keyword2</ofd:Keyword>
        <ofd:Keyword>Keyword3</ofd:Keyword>
      </ofd:Keywords>
      <ofd:Creator>Creator1</ofd:Creator>
      <ofd:CreatorVersion>CreatorVersion1</ofd:CreatorVersion>
      <ofd:CustomDatas>
        <ofd:CustomData Name="Name1">CustomData1</ofd:CustomData>
        <ofd:CustomData Name="Name2">CustomData2</ofd:CustomData>
        <ofd:CustomData Name="Name3">CustomData3</ofd:CustomData>
      </ofd:CustomDatas>
    </ofd:DocInfo>
    <ofd:DocRoot>http://uri1</ofd:DocRoot>
    <ofd:Versions>
      <ofd:Version ID="ID1" Index="1" Current="false" BaseLoc="http://uri1" />
      <ofd:Version ID="ID2" Index="-2147483647" Current="true" BaseLoc="http://uri2" />
      <ofd:Version ID="ID3" Index="2147483647" Current="false" BaseLoc="http://uri3" />
    </ofd:Versions>
    <ofd:Signatures>http://uri1</ofd:Signatures>
  </ofd:DocBody>
</ofd:OFD>

OFD结构图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: C OFD文档开发是指利用开源库去开发OFD(Open Format for Documents)文档的过程。OFD是一种开放的电子文档格式,由中国国家标准化管理委员会制定,旨在替代传统的PDF格式。 在C OFD文档开发中,我们可以使用各种开源库来处理OFD文档的创建、编辑和渲染。这些开源库提供了丰富的功能和接口,方便开发人员在自己的程序中集成OFD文档的处理能力。 其中一些重要的开源库包括: 1. libofd:libofd是一个用C语言编写的开源库,用于处理OFD文档。它提供了创建、编辑和渲染OFD文档的功能,开发人员可以使用该库来操纵OFD文档中的内容,如文字、图像和注释等。 2. libfoxitpdf:libfoxitpdf是一个开源的PDF操作库,也可用于处理OFD文档。它提供了一套丰富的API,开发人员可以使用它来实现OFD文档的转换、加密和解密等功能。 3. mupdf:mupdf是一个轻量级的PDF和OFD渲染引擎,它可以用于OFD文档的显示和渲染。开发人员可以使用mupdf来实现OFD文档的预览、打印和文本选取等功能。 通过使用这些开源库,我们可以快速、高效地开发出功能强大、灵活多样的OFD文档处理应用程序。这些应用程序可以应用于各种领域,如电子文档管理、电子合同签署和电子图书发行等。C OFD文档开发借助开源库的支持,使得开发人员能够更加专注于业务逻辑的实现,加速开发过程,提高软件的可靠性和稳定性。 ### 回答2: C OFD文档开发是指使用开源库进行OFD(Office Document Format)文档开发的过程。OFD是一种开放、跨平台的电子文档格式,被广泛用于电子文件的创建、存储和交换。 开源库是指由一个或多个开发人员共同维护和开发的软件资源库,其中的代码是公开可见的,任何人都可以查看、使用和修改。在C OFD文档开发中,开源库提供了一些功能模块或者API,可以用来快速开发OFD文档的各种功能和特性。 C作为一种编程语言,可以与开源库进行结合,用来开发C OFD文档。通过调用开源库提供的接口,我们可以实现一些常见的OFD文档操作,比如创建、修改、读取和打印等。 使用C开发OFD文档的好处是,C具有高效性和可移植性。C语言的执行速度快,非常适合处理大数据量的文件操作。同时,C语言的可移植性也使得开发的OFD文档可以在不同的平台上运行,无论是Windows、Linux还是其他操作系统。 总的来说,C OFD文档开发开源库为开发人员提供了一个轻量级、高效率的开发环境,可以快速开发出满足用户需求的OFD文档应用程序。同时,开源库的使用也可以减少开发成本和提高开发效率,使得C OFD文档开发更加容易和灵活。 ### 回答3: C ofd文档开发是指基于C语言开发的OFD(Open Format Document)文档开发。OFD文档是一种开放的电子文档格式,它具有独立于操作系统和应用软件的特点,能够在不同的平台上进行创建、阅读和编辑。 OFD文档开发需要使用适当的开源库来实现各种功能。开源库是指在开放源代码的基础上,其他开发者可以免费使用、查看和修改的软件组件。对于C语言开发OFD文档,我们可以选择一些C语言的开源库进行使用。 一些常用的C语言开源库如下: 1. LibHaru:它是一个用于创建PDF文档的开源库,也可以用于创建OFD文档。 2. PDFlib:这是一个强大的用于创建和处理PDF文档的库,我们可以使用PDFlib开发OFD文档。 3. mupdf:它是一个开源的PDF和XPS文档渲染库,我们可以使用它来渲染和处理OFD文档。 4. LibOFD:这是一个专门用于OFD格式文档处理的开源库,可以用于OFD文档的创建、阅读和编辑。 使用这些开源库,我们可以利用C语言来开发各种功能强大的OFD文档应用,例如创建和编辑文档、插入文字和图片、调整布局和格式等等。同时,开源库也提供了丰富的API和示例代码,使得我们能够更加方便地进行开发和调试。 总而言之,C ofd文档开发是利用C语言和开源库来开发OFD文档的一种技术。通过选择适合的开源库,我们可以更加高效地进行OFD文档的开发和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值