文/盧 玲 昌 磊
2014年,數(shù)字出版技術(shù)發(fā)展迅速,包括語義出版、跨平臺(tái)閱讀、跨終端出版、結(jié)構(gòu)化加工、數(shù)字版權(quán)保護(hù)、內(nèi)容標(biāo)引加工等數(shù)字出版關(guān)鍵技術(shù)均取得長足進(jìn)展,對(duì)新聞出版產(chǎn)業(yè)升級(jí)起到了推動(dòng)作用。
移動(dòng)互聯(lián)網(wǎng)時(shí)代的終端大發(fā)展為數(shù)字內(nèi)容變革、用戶快捷獲取信息提供了史無前例的機(jī)會(huì)。內(nèi)容跨終端發(fā)布創(chuàng)造了內(nèi)容生產(chǎn)和消費(fèi)的新模式,數(shù)字出版產(chǎn)業(yè)鏈相關(guān)環(huán)節(jié)發(fā)生了巨大的轉(zhuǎn)變,未來的數(shù)字閱讀必將跨平臺(tái)、跨終端。雖然不同讀者選擇的閱讀終端、閱讀方式不同,但只有好的體驗(yàn)讀者才能樂意付費(fèi)。本文就數(shù)字內(nèi)容跨終端出版技術(shù)的應(yīng)用進(jìn)行詳細(xì)闡述。
結(jié)構(gòu)化的PDF(便攜式文檔格式Portable Document Format)具有跨平臺(tái)、跨操作系統(tǒng)的特性,能夠使得文檔數(shù)字化,并且可以通過網(wǎng)絡(luò)進(jìn)行發(fā)行和信息傳播。PDF側(cè)重于文檔打印格式的描述,缺乏對(duì)文檔數(shù)據(jù)結(jié)構(gòu)的描述,即缺乏對(duì)PDF文檔版面信息的分析和抽取,制約了跨終端數(shù)字出版。XML(可擴(kuò)展標(biāo)記語言Extensible Markup Language)是面向內(nèi)容的,能夠描述文檔的語義信息,可以根據(jù)不同終端設(shè)備的特性自動(dòng)重新編排,以最適合于出版的方式呈現(xiàn)。綜上,圖書的跨終端數(shù)字出版能夠基于XML文檔進(jìn)行,其他格式的文檔也可以考慮轉(zhuǎn)換成為XML文檔。
1.D T D (Document Type Definition)設(shè)計(jì)。DTD是一套關(guān)于標(biāo)記符的語法規(guī)則,一種保證XML文檔格式正確的有效方法。XML文檔中的元素、標(biāo)志及其相互之間的關(guān)系都是通過DTD文檔來規(guī)范的。這樣的DTD文檔設(shè)計(jì)主要包括:標(biāo)題(Title)、作者(Author)、出版社(Publisher)、章節(jié)(Section)、鏈接(Link)等。
2. PDF的文檔結(jié)構(gòu)。(1)PDF文檔的對(duì)象。(Direct Object) 和間接對(duì)象(Indirect Object)兩大類,具體見表1。
(2)PDF文檔的物理結(jié)構(gòu)。PDF的文件物理結(jié)構(gòu)分為:文件頭、文件主體、交叉引用表和文件尾,見表2。
表1 PDF對(duì)象情況
表2 PDF的物理結(jié)構(gòu)
PDF文檔的邏輯結(jié)構(gòu)。PDF的邏輯結(jié)構(gòu)描述了PDF文檔中各對(duì)象之間的關(guān)系,如圖所示。樹的根節(jié)點(diǎn)就是Catalog對(duì)象,Page Tree、Outline Tree、Thread Tree和Name Destination為根節(jié)點(diǎn)下面的四棵子樹。PDF的頁面內(nèi)容(如文字、圖形、圖像)保存在頁面對(duì)象流對(duì)象(Content Stream)中。
Page Tree包含著該文件的頁面對(duì)象最重要的信息;Outline Tree每個(gè)節(jié)點(diǎn)都是一個(gè)書簽(Bookmark),對(duì)應(yīng)著文檔中的具體的頁面位置;Thread Tree以樹型結(jié)構(gòu)形式表現(xiàn)了文章線索和線索下的文章塊;Name Destination是字符串和頁面區(qū)域間關(guān)聯(lián)關(guān)系的描述。
圖 PDF的邏輯結(jié)構(gòu)
3. PDF文檔的版面分析與內(nèi)容提取。(1)PDF文檔內(nèi)容流的解碼。PDF文檔內(nèi)容流的解碼是從文件尾Trailer的解析開始,Trailer中交叉引用表的地址和PDF文檔的Catalog根對(duì)象控制整個(gè)內(nèi)容流,解析步驟如下。①文件尾Trailer保存著交叉引用表的偏移地址,即以Startxref開始緊跟著偏移地址。②關(guān)鍵字“xref”為交叉引用表的開始字段,再找到代表Catalog的偏移地址,Catalog對(duì)象根節(jié)點(diǎn)找到頁節(jié)點(diǎn)對(duì)象Page Tree。③Page Tree子節(jié)點(diǎn)表示頁對(duì)象,因此可以直接訪問到頁對(duì)象Page中內(nèi)容流Content Stream。④解析Content Stream時(shí)需要根據(jù)對(duì)象中關(guān)鍵字Filter提供的算法類型來進(jìn)行相應(yīng)地解析。PDF中使用的工業(yè)標(biāo)準(zhǔn)壓縮算法有ASCII85Decode、LZWDecode、Flate Decod 、DCT Decode 、RunLengthDecode、CCITTFaxDecode等十種標(biāo)準(zhǔn)的過濾器。⑤解析后的內(nèi)容流包括了PDF文本內(nèi)容的重要信息,如每個(gè)頁面每行的文本內(nèi)容Content,每行的位置(x,y)Position,文本內(nèi)容的字體類型FontType和字體大小FontSize等。⑥PDF文檔篇章結(jié)構(gòu)信息的解析從PDF文檔中的Bookmark開始,每個(gè)Bookmark指向文檔的一個(gè)位置,可以轉(zhuǎn)換成文檔中的章節(jié)信息。⑦PDF文檔中沒有對(duì)段落信息進(jìn)行描述,因此對(duì)于段落的判斷需要依靠一些判定規(guī)則來實(shí)現(xiàn)。PDF文檔描述了所顯示內(nèi)容在頁面中的具體坐標(biāo),而這些具體坐標(biāo)能夠作為大致判斷段落位置的依據(jù),再加上輔助修正從而給出內(nèi)容的段落信息。
(2)PDF文檔版面分析。經(jīng)過解碼后的PDF文檔,根據(jù)PDF的篇章結(jié)構(gòu)和段落劃分形成獨(dú)立的段落模塊,重新對(duì)PDF的版面進(jìn)行描述。將PDF文檔進(jìn)行模塊的劃分,形成一個(gè)個(gè)獨(dú)立的段落模塊,然后進(jìn)行版面的標(biāo)引分析。通過版面分析我們才可以識(shí)別PDF中的各種數(shù)據(jù)元素,如段落、標(biāo)題、表格等。版面分析后的PDF可以獲得一份結(jié)構(gòu)化的數(shù)據(jù),這些數(shù)據(jù)可以組織成XML格式或者以數(shù)據(jù)庫的形式存儲(chǔ)起來,在以后進(jìn)行重新轉(zhuǎn)換或者輸出時(shí)就會(huì)變的容易;同時(shí)支持獨(dú)立段落模塊之間的合并、拆分功能,實(shí)現(xiàn)PDF的文檔內(nèi)容的編輯。
數(shù)字圖書跨終端的實(shí)現(xiàn)是由服務(wù)器端根據(jù)客戶端的請(qǐng)求生成適合閱讀終端的頁面,下載到終端并在終端上進(jìn)行顯示。服務(wù)器端處理數(shù)字圖書的繪制工作。對(duì)于PC或者具備較大屏幕的移動(dòng)閱讀終端,服務(wù)器端生成原始版面終端,供終端的通用瀏覽器實(shí)現(xiàn)下載閱讀。以頁面為下載單位,這樣讀者可以看到原版原式的文檔。對(duì)于小屏幕的移動(dòng)終端,服務(wù)器端會(huì)根據(jù)移動(dòng)終端的具體屏幕大小,將存儲(chǔ)的流式和結(jié)構(gòu)化數(shù)據(jù)快速生成重新繪制后的“html”頁面,在客戶端進(jìn)行閱讀呈現(xiàn)。由于傳輸?shù)氖恰癶tml”,因此通用瀏覽器本身的格式重新排版能力可以提供較好的閱讀體驗(yàn)。
閱讀終端重繪制首先是頁面坐標(biāo)空間的轉(zhuǎn)換。PDF版式文檔描述的基礎(chǔ)是文本的坐標(biāo)空間,在進(jìn)行PDF文檔轉(zhuǎn)換成XML時(shí)已經(jīng)記錄下了PDF文檔內(nèi)部文本的坐標(biāo)空間。服務(wù)器端根據(jù)具體的客戶端生成每一頁的繪制指令并完成繪制工作,繪制的內(nèi)容包括文字、圖形等,然后向客戶端發(fā)送該頁面數(shù)據(jù)。
在進(jìn)行數(shù)字圖書跨終端出版過程中,重點(diǎn)在于文檔分析和跨終端重構(gòu)。本文就PDF文檔對(duì)數(shù)字圖書重新組織技術(shù)進(jìn)行了一些闡述。轉(zhuǎn)化得到的XML文件不僅可以用于數(shù)字圖書跨終端出版,還可以進(jìn)行信息的檢索和過濾等。
[1]王江泰,張貴倉.基于XML的PDF文檔認(rèn)證和完整性保護(hù)的實(shí)現(xiàn)[J].蘇州科技學(xué)院學(xué)報(bào),2010(3).
[2]楊道良,常明.PDF及其在電子出版領(lǐng)域的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,1999(19).
[3]宋艷娟,張德文.基于XML的PDF文檔信息抽取系統(tǒng)的研究[J].現(xiàn)代圖書情報(bào)技術(shù),2005(9).
[4]何忠平.圖像數(shù)據(jù)壓縮技術(shù)在PDF中的應(yīng)用研究[D].哈爾濱:哈爾濱工程大學(xué),2004.