CEBX全称Common e-Document of Blending XML,译为基于混合XML的公共电子文档。CEBX是一种独立于软件、硬件、操作系统、呈现/打印设备的文档格式规范。CEBX技术及相关软件由方正信息产业集团旗下
北京方正阿帕比技术有限公司负责研发。
软件历史
CEBX的前身是
北大方正电子有限公司于2000年推出的CEB文档格式,目标是建立一种可靠且便易的电子文档规范。CEB是一种
版式文档格式,它可以提供原版原式的文档呈现方式,同时支持阿帕比
数字版权保护系统(Apabi DRM)。
方正技术研究院数字出版分院(以下简称“数字出版分院”)成立于2009年1月,是
北大方正集团旗下专注于数字出版领域前沿技术研发的机构,负责为方正集团旗下的专业公司及合作伙伴提供数字出版新技术。
版本说明
CEBX的各版本及包含的子集情况:
“√”表示包含。
CEBX的子集规范是根据应用领域的不同进行相应的裁剪而形成的,具体说明如下:
CEBX/A:CEBX for Archiving,主要面向于文档存储领域。
CEBX/M:CEBX for Mobile,主要面向于移动阅读领域。
基本结构
技术架构
CEBX采用“容器 + 文件”的方式来描述和存储数据,容器就好像一个
虚拟存储系统(Virtual Storage System),将各类数据描述
文件组织起来,并提供特定的访问控制接口。
在CEBX中,数据描述采用XML技术,以版式(Fixed-layout)描述信息为基础,辅以版面对象的结构化信息,然后通过压缩和加密方法放入容器中。基于结构化信息可以实现版面内容的重排(Reflow),从而获取更好的屏幕自适应特性。版面数据主要包括有基础图元、表格、表单、多媒体等对象描述,再加上脚本、安全性描述等信息。脚本数据用于增强CEBX的动态交互特性,而安全性描述中则包括了对于本地安全以及DRM安全的支持。
文档模型
CEBX文档由一系列的文件组成,形成一种层次组织结构的展示,如图《CEBX文档模型》所示:
在CEBX中,可以允许第三方加入自己的数据文件,比如插件数据,第三方 关键技术
1、XDA
XDA全称为XML-based Document Archive,是方正技术研究院于2007年开始研发的一种多
文件打包技术规范。XDA可以很好地支持文件随机访问、增量修改、线性化、压缩加密等。
XDA已经通过了广泛的测试和验证,并已成功应用于方正技术研究院在2009年推出的
版式文档格式规范CEBX中。同时,可通过XDAKit开源项目获取最新的代码以及工具。
2、SAC
SAC(Structure Analysis Core)是方正技术研究院为了解决传统版式文档到流式文档的转换问题而建立的一项重要工程,主要进行基于版面的文档结构识别研究。
SAC是实现版式和流式文档互转的核心技术,已包括主体字分析、版心分析、段落分析、目录分析等重要功能。
3、SXC
SXC(Schema-Based XML Compressor)是一种基于Schema的XML压缩格式,可以对XML数据进行更好的压缩,从而减小数据体积、缩短传输时间。
CEBX的特性
CEBX保留并改进了CEB的基本特性优点,并针对数据存储、办公自动化以及网络应用、移动阅读等应用领域添加了许多新特性。
数据打包
应用的发展对未来
版式文档的信息容纳能力提出了新的要求。比如版式文档需要支持在一个文件中容纳大量对象和数据:由于在实际应用中,版式文档需容纳的对象和数据量也大小不一,要求版式文档需充分考虑到各种可能出现的情形,使一个文档中能容纳的对象和数据的数量尽量达到最大。除此之外,还要求版式文档具有聚合能力,即可以把几个相关的存档格式文件聚合到一个文件中。聚合功能将可以使得文档的数量成倍的降低,对于文档的发布、传播和存储也是极为有利。
数据结构化
随着计算机技术的进步,XML技术在各个领域被广泛接受。各机构、公司纷纷推出了采用XML技术的文档格式,例如ePub、OOXML、ODF、UOF等。XML标记描述的是文档的结构和意义,而不是页面元素的格式化信息,由于这种非专有的且易于阅读和编写的优点,使得它成为在不同的应用间交换数据的理想格式,并且,XML使用的是非专有的格式,具有良好的易扩展性和易移植性,因此,CEBX在
版式文档描述的基础之上,采用XML技术来描述文档数据,使得数据的描述和显示分离,实现了文档数据的结构化,能够更方便的与其他系统进行数据交换、解析、编辑、阅读,提高了文档操作和应用的灵活性。
原版原式
CEBX具有原版原式的呈现特点,即阅读显示与印刷一致,真实地保持了原有文件中文字、图表、公式、色彩等版式和信息,实现了高保真的显示效果。这种特性不会随着平台变化而发生改变,因为CEBX规范建立在一个概念性的成像模型基础之上,该成像模型屏蔽了平台间的差异,使得上层的数据描述能够独立于平台。原版原式的呈现特点可以保证电子文件等在交换、办理、发布、存储管理等过程中版式固定,保持显现的一致性,符合文档长期保管要求。因此,在很多领域里都有着重要的应用价值。比如在不同的机器上阅读时,政府公文中的红头标题、公章、行距格式等不允许有丝毫的误差,协议文件中签章的位置变化会引起协议无效,档案文件则要求能在各种查阅条件下始终保持资料呈现的原始性,图书、报刊等的版式对广大读者也不容忽视。
设备自适应性
原版原式解决了显示效果还原的问题,但是在某些场景下,用户为了能够获得更好的阅读体验,要求文档内容能够根据显示设备的特性进行自适应调整。CEBX通过加入文档逻辑结构信息,可以同时融合版式阅读和流式阅读的特性,既可以在普通的计算机屏幕上对数字内容进行原版原式的呈现,更可以通过页面对象的逻辑结构信息,在手机、专业
阅读器、GPS、PDA等屏幕狭小的移动设备上进行流式重排以提供给用户更好的阅读体验。此外,通过加入对颜色管理系统的支持,CEBX能够更好地还原色彩,以适应不同设备来获得更好的展示效果。
动态交互特性
CEBX支持更加丰富的交互元素描述,加入了动作、脚本、注释、动画乃至电子表单,以使文档带有更强的动态交互特性。动作提供了基本的交互支持。在文档、页以及页面对象等结构中,均可包含动作对象的引用,比如执行到指定区域的跳转、播放多媒体数据、甚至执行某个JavaScript脚本等等。脚本可为应用程序提供灵活的扩展和定制功能。注释使用户可以通过鼠标或键盘等方式与文档进行交互,在阅读过程中随心所欲地添加自己的体会和感受。CEBX的页面图元对象除了静态的呈现方式之外,也支持基于
时间轴的动态描述。电子表单则提供了系统化的数据收集与回馈功能,例如公文填报、多级审批、报表统计、电子教材/试卷实时批改、阅读时互动交流等基于电子文档之上的智能化互动应用。
全面的安全性支持
CEBX支持
数字签名和分段授权,并可以实现本地安全、DRM系统等多重安全特性。本地安全保护个人文档内容不被偷取、篡改。数字签名进行验证,配合文档修改的历史记录,为文档流转、历史回溯、身份认证提供支持。而对第三方DRM系统的支持则为商业化应用扫除了后顾之忧。CEBX的安全策略不仅能针对整个文档进行保护,还能够支持丰富的权限表描述,如分段加密等,可以为文档提供最小粒度的安全保护,能有效支持电子商务时代更多样化的商业模式,如图书/文档的试读、借阅、分章节购买、分资源类型购买(例如仅购买多媒体图书中的文字内容或图像内容)、按需印刷等。
多样化的互联网应用
CEBX版式处理技术既能对版面对象的位置、大小、颜色等信息进行准确描述,又能处理复杂的版面信息,如裁减、透明、
水印、渐变等。在提供如此丰富的显示效果的同时,CEBX还可实现图文及多媒体信息的动态和实时混排。对于桌面办公、移动阅读、印刷出版等应用领域的不同应用平台,CEBX可进行相应的裁剪以实现“一次出版,多种平台引用,多途径传播”的目的,能够很好的适用于互联网飞速发展、不断变化的环境。此外,CEBX支持互联网应用中推荐的流式数据边下载边阅读的模式,从而达到了更强的面向互联网应用的特性。
应用与合作
相关软件
基于CEBX技术的产品为Apabi Inspire Suite(简称AIS),它包括了:
Apabi Reader按照平台针对性划分为以下3个版本:
Apabi Reader是面向电子书、电子公文、
电子报纸、电子期刊等多种文档类型的阅读器。由方正集团下属
方正技术研究院数字出版分院研发,我们的目标是将其打造成一款轻量级、支持更多格式、支持更多平台的全功能数字阅读客户端。
2、 Apabi Maker(转换工具)
Apabi Maker全称“方正Apabi Maker”,是方正研究院数字出版分院开发的CEBX/CEB文件转换 器。它提供了许多领域的电子出版服务,将包括传统的印刷图书在内的多种格式转成CEBX/CEB格式的电子图书(eBook)供人们在PC机上阅读或者下载到手持机上。3、 Apabi Carbon(编辑平台)
Apabi Carbor全称“方正Apabi Carbon”,是
方正技术研究院数字出版分院最新推出的可扩展CEBX编辑平台。它不仅可以对CEBX的文档信息、本地安全性、页面、目录等进行编辑,还可以加入和 编辑多媒体对象、表单等,并可识别和编辑版心区域。
其他应用
CEBX技术具有很好的应用前景,下面列举一些有特色的应用:
(1)CEBX的电子书、电子期刊和数字报纸应用;
(2)CEBX的在线阅读技术,为内容服务提供基于云计算的阅读,可以支持数字出版内容的跨终端在线阅读,也可以支持在线书库等新兴互联网应用;
(3)CEBX的电子公文、数字档案的应用;
(4)CEBX的电子病历应用;
(5)基于CEBX及电子表单技术的电子书包、电子学习应用。
开源项目
我们已经在开源社区SourceForge创建了我们的第一个开源项目——XDAKit,主要负责XDA包结构代码的发布。XDAKit采用BSD License协议,目前可支持Windows和Linux平台,开发语言支持C++和Java,另外还包括Windows平台和Linux平台下的命令行工具。