文/卢 玲 昌 磊
2014年,数字出版技术发展迅速,包括语义出版、跨平台阅读、跨终端出版、结构化加工、数字版权保护、内容标引加工等数字出版关键技术均取得长足进展,对新闻出版产业升级起到了推动作用。
移动互联网时代的终端大发展为数字内容变革、用户快捷获取信息提供了史无前例的机会。内容跨终端发布创造了内容生产和消费的新模式,数字出版产业链相关环节发生了巨大的转变,未来的数字阅读必将跨平台、跨终端。虽然不同读者选择的阅读终端、阅读方式不同,但只有好的体验读者才能乐意付费。本文就数字内容跨终端出版技术的应用进行详细阐述。
结构化的PDF(便携式文档格式Portable Document Format)具有跨平台、跨操作系统的特性,能够使得文档数字化,并且可以通过网络进行发行和信息传播。PDF侧重于文档打印格式的描述,缺乏对文档数据结构的描述,即缺乏对PDF文档版面信息的分析和抽取,制约了跨终端数字出版。XML(可扩展标记语言Extensible Markup Language)是面向内容的,能够描述文档的语义信息,可以根据不同终端设备的特性自动重新编排,以最适合于出版的方式呈现。综上,图书的跨终端数字出版能够基于XML文档进行,其他格式的文档也可以考虑转换成为XML文档。
1.D T D (Document Type Definition)设计。DTD是一套关于标记符的语法规则,一种保证XML文档格式正确的有效方法。XML文档中的元素、标志及其相互之间的关系都是通过DTD文档来规范的。这样的DTD文档设计主要包括:标题(Title)、作者(Author)、出版社(Publisher)、章节(Section)、链接(Link)等。
2. PDF的文档结构。(1)PDF文档的对象。(Direct Object) 和间接对象(Indirect Object)两大类,具体见表1。
(2)PDF文档的物理结构。PDF的文件物理结构分为:文件头、文件主体、交叉引用表和文件尾,见表2。
表1 PDF对象情况
表2 PDF的物理结构
PDF文档的逻辑结构。PDF的逻辑结构描述了PDF文档中各对象之间的关系,如图所示。树的根节点就是Catalog对象,Page Tree、Outline Tree、Thread Tree和Name Destination为根节点下面的四棵子树。PDF的页面内容(如文字、图形、图像)保存在页面对象流对象(Content Stream)中。
Page Tree包含着该文件的页面对象最重要的信息;Outline Tree每个节点都是一个书签(Bookmark),对应着文档中的具体的页面位置;Thread Tree以树型结构形式表现了文章线索和线索下的文章块;Name Destination是字符串和页面区域间关联关系的描述。
图 PDF的逻辑结构
3. PDF文档的版面分析与内容提取。(1)PDF文档内容流的解码。PDF文档内容流的解码是从文件尾Trailer的解析开始,Trailer中交叉引用表的地址和PDF文档的Catalog根对象控制整个内容流,解析步骤如下。①文件尾Trailer保存着交叉引用表的偏移地址,即以Startxref开始紧跟着偏移地址。②关键字“xref”为交叉引用表的开始字段,再找到代表Catalog的偏移地址,Catalog对象根节点找到页节点对象Page Tree。③Page Tree子节点表示页对象,因此可以直接访问到页对象Page中内容流Content Stream。④解析Content Stream时需要根据对象中关键字Filter提供的算法类型来进行相应地解析。PDF中使用的工业标准压缩算法有ASCII85Decode、LZWDecode、Flate Decod 、DCT Decode 、RunLengthDecode、CCITTFaxDecode等十种标准的过滤器。⑤解析后的内容流包括了PDF文本内容的重要信息,如每个页面每行的文本内容Content,每行的位置(x,y)Position,文本内容的字体类型FontType和字体大小FontSize等。⑥PDF文档篇章结构信息的解析从PDF文档中的Bookmark开始,每个Bookmark指向文档的一个位置,可以转换成文档中的章节信息。⑦PDF文档中没有对段落信息进行描述,因此对于段落的判断需要依靠一些判定规则来实现。PDF文档描述了所显示内容在页面中的具体坐标,而这些具体坐标能够作为大致判断段落位置的依据,再加上辅助修正从而给出内容的段落信息。
(2)PDF文档版面分析。经过解码后的PDF文档,根据PDF的篇章结构和段落划分形成独立的段落模块,重新对PDF的版面进行描述。将PDF文档进行模块的划分,形成一个个独立的段落模块,然后进行版面的标引分析。通过版面分析我们才可以识别PDF中的各种数据元素,如段落、标题、表格等。版面分析后的PDF可以获得一份结构化的数据,这些数据可以组织成XML格式或者以数据库的形式存储起来,在以后进行重新转换或者输出时就会变的容易;同时支持独立段落模块之间的合并、拆分功能,实现PDF的文档内容的编辑。
数字图书跨终端的实现是由服务器端根据客户端的请求生成适合阅读终端的页面,下载到终端并在终端上进行显示。服务器端处理数字图书的绘制工作。对于PC或者具备较大屏幕的移动阅读终端,服务器端生成原始版面终端,供终端的通用浏览器实现下载阅读。以页面为下载单位,这样读者可以看到原版原式的文档。对于小屏幕的移动终端,服务器端会根据移动终端的具体屏幕大小,将存储的流式和结构化数据快速生成重新绘制后的“html”页面,在客户端进行阅读呈现。由于传输的是“html”,因此通用浏览器本身的格式重新排版能力可以提供较好的阅读体验。
阅读终端重绘制首先是页面坐标空间的转换。PDF版式文档描述的基础是文本的坐标空间,在进行PDF文档转换成XML时已经记录下了PDF文档内部文本的坐标空间。服务器端根据具体的客户端生成每一页的绘制指令并完成绘制工作,绘制的内容包括文字、图形等,然后向客户端发送该页面数据。
在进行数字图书跨终端出版过程中,重点在于文档分析和跨终端重构。本文就PDF文档对数字图书重新组织技术进行了一些阐述。转化得到的XML文件不仅可以用于数字图书跨终端出版,还可以进行信息的检索和过滤等。
[1]王江泰,张贵仓.基于XML的PDF文档认证和完整性保护的实现[J].苏州科技学院学报,2010(3).
[2]杨道良,常明.PDF及其在电子出版领域的应用[J].计算机应用,1999(19).
[3]宋艳娟,张德文.基于XML的PDF文档信息抽取系统的研究[J].现代图书情报技术,2005(9).
[4]何忠平.图像数据压缩技术在PDF中的应用研究[D].哈尔滨:哈尔滨工程大学,2004.