■李金城 余 方 方婷云
1)杭州電子科技大學數(shù)字媒體與藝術設計學院,浙江省杭州市下沙高教園區(qū) 310018
2)浙江大學醫(yī)學院附屬第一醫(yī)院中華臨床感染病雜志編輯部,浙江省杭州市上城區(qū)慶春路79號 310003
結(jié)構化排版是指借助計算機軟件和語言技術,通過建立規(guī)范的信息格式和標準,將期刊內(nèi)容與樣式分離進行實時的結(jié)構化生產(chǎn)和編輯,使得經(jīng)過標引的文件或元數(shù)據(jù)形成資源儲備,在獨立于文件格式之下實時變更、適應不同媒介進行發(fā)布的一套現(xiàn)代出版生產(chǎn)體系。目前,基于XML結(jié)構化數(shù)據(jù)進行排版生產(chǎn)已經(jīng)成為大型出版商主要采用的方式[1]。可擴展標記語言XML(eXtensible Markup Language,XML)由一系列標簽及內(nèi)容數(shù)據(jù)組成,實現(xiàn)了數(shù)據(jù)與呈現(xiàn)形式的分離,大大提高了數(shù)據(jù)的跨平臺應用能力,利用XML能夠?qū)崿F(xiàn)一次加工多次輸出的結(jié)構化排版。
在圖書、期刊等出版領域,Adobe Indesign已經(jīng)成為主流排版軟件之一,在其較早的2.0版本中便開始支持XML特性,提供了XML的導入、導出以及自動XML排版等基本功能[2],但該功能只適用于模板與內(nèi)容均相對固定的文檔(如列表、目錄等)。然而,對于帶有圖像的XML文檔,由于無法預知XML文件中圖像的位置,不能事先制作通用的圖像框架進行占位,Indesign在進行自動排版時會默認將圖像以原始大小、隨文圖形式放置在已有的框架中(例如正文文本框架)[3]。再加上Indesign不支持對圖像標簽應用樣式,在實際應用中需要排版員通過大量手動調(diào)整工作對圖像的尺寸和位置等進行設置[4],大大降低了排版的效率。
Indesign提供了基于腳本和軟件開發(fā)工具包(SDK)兩種編程接口,用戶可以通過開發(fā)插件來優(yōu)化其功能。本研究擬通過JavaScript腳本編程,解決圖像的自動排版問題。
解決Indesign XML圖像自動排版的關鍵是能夠單獨對XML文件中每個標簽進行自動讀取、排入與樣式應用,而Indesign基本功能并不支持這一特性。本研究利用Indesign JavaScript編程來實現(xiàn)對XML文件標簽及數(shù)據(jù)的順序讀取與靈活控制。首先,自動導入XML樣本文件至Indesign程序的“結(jié)構”中,獲得XML文件的標簽個數(shù),定義為i,接著讀入第一個標簽,判斷標簽類型,若為文本標簽,則提取標簽文本數(shù)據(jù),將數(shù)據(jù)排版至版面相應位置,自動應用對應的段落樣式,完成后繼續(xù)下一個標簽。若為圖像文件標簽,則通過圖像存儲路徑標簽獲得圖像原始尺寸,按照圖像處理規(guī)則對圖像進行縮放,將縮放后的圖像排入版面,應用圖像對象樣式。繼續(xù)下一標簽,直至所有標簽內(nèi)容排至版面,結(jié)束排版,自動保存“*.indd”排版文件并導出為PDF,排版流程設計如圖1所示。
圖1 基于XM L結(jié)構化文件自動排版的流程設計
標準的XML文檔格式是實現(xiàn)結(jié)構化排版的關鍵。BioMed Central(英國倫敦生物醫(yī)學中心BioMed Central,簡稱BMC)是一家世界領先的科技期刊出版集團,所有期刊源文檔均采用XML文件格式,該格式是在Keton DTD標準基礎上經(jīng)過簡化和兼容性處理后得到的,可以作為本研究的參考XML標準格式。BMC提供了XML范例文件(圖2),并對XML文件中的標簽進行了說明[5]。
XML結(jié)構樹共包含64個標簽?!癮rt”標簽為最高級父標簽——“文章”,“art”下面包含 “fm”、“meta”、“bdy”、“bm”四個子標簽,分別代表前言、元數(shù)據(jù)、正文和后續(xù)四個部分,每個標簽又分別包含用以描述文章內(nèi)具體元素的子標簽。其中,“fig”為圖像標簽,又包括“title”圖示標簽、“caption”圖題標簽與“graphic”圖像文件標簽等,文本數(shù)據(jù)主要存儲在“p”段落標簽中。
本研究依據(jù)BMW XML標準文件結(jié)構及標簽的定義,使用XML editor編輯器將本篇文章的內(nèi)容進行格式化,得到了XML樣本文件“sample.xml”,如圖3所示。
為了方便排版結(jié)果展示,本研究中的模板版式、文字與圖像樣式根據(jù)《中華臨床感染病雜志》規(guī)范要求設計。InDesign模板的主體為兩個文本框架、摘要信息文本框架和正文文本框架,摘要信息文本框架為單欄,正文文本框架為雙欄,兩個文本框架中不再用其他框架進行占位。樣式包括控制各級文字的段落樣式與控制圖像的對象樣式,圖像樣式選擇行中定位與居中對齊方式。所有的樣式名與對應的XML標簽名一致,例如“graphic”標簽是圖像文件標簽,其對象樣式名為“graphic”,將模板設計好后保存為*.indd文件。
《中華臨床感染病雜》規(guī)定單欄圖寬統(tǒng)一為7.5 cm,因此,在對圖像進行自動處理時,將XML文件中的所有圖像等比例縮放至寬為7.5 cm。
圖2 BMC XM L范例文件標簽結(jié)構樹
圖3 樣本XM L文件設計
Indesign JavaScript采用文檔對象模型(Document Object Model,DOM)規(guī)定了 Indesign應用程序中的所有對象,編程人員需要運用腳本技術調(diào)用Indesign相應對象,進行參數(shù)與方法的設置來實現(xiàn)自動排版。Indesign ESTK提供了所有對象、屬性及方法的介紹便于查詢,利用JavaScript進行編程的具體方法請參考Gamble G的著作《InDesign CS5 Automation Using XML and JavaScript》[6]。
用于實現(xiàn)樣本文件sample.xml自動排版的偽碼片段如下:
(1)將待排版的期刊XML數(shù)據(jù)保存在指定目錄,本例為 “c/users/lenovo/Desktop/sample.xm l”,將編寫完畢的腳本存放在InDesign/Scripts/Scripts Panel目錄下。
(2)運行 InDesign程序,打開模板文件,運行腳本 automation layout for academic journal V1.0。對sample.xml文件的自動排版后的indd文件效果如圖4所示。
圖4 自動排版后的indd文件效果
本研究利用JavaScript編程在Indesign中實現(xiàn)了基于XML結(jié)構化文檔的自動排版,重點解決了圖像排版中位置、大小的問題。應用本研究的方法可以實現(xiàn)以文本與單欄圖為主的單雙欄混排文檔的自動排版與PDF文件輸出,但對于通欄排版的圖像,由于需要進行欄的重新分割,本研究未能實現(xiàn)此類圖像的自動排版,后續(xù)將進一步對此類圖像的自動排版進行研究。
[1]劉冰,游蘇寧.我國科技期刊應盡快實現(xiàn)基于結(jié)構化排版的生產(chǎn)流程再造[J].編輯學報,2010,22(3):262.
[2]王玥,南娟,劉謙,等.基于XML的InDesign期刊排版文件標記與轉(zhuǎn)換處理實踐[J].中國科技期刊研究,2012,23(1):94-95.
[3]Adobe.Indesign XML Help[EB/OL].[2015-12-01].http://helpx.adobe.com/indesign/using/xml.html.
[4]陳肖玉,虞子冶.基于XML的科技期刊排版技術探究[C]//2012年第四屆科技期刊發(fā)展創(chuàng)新研討會論文集.北京:中國科學技術期刊編輯學會,2012:2.
[5]BMC.XML DTD[EB/OL].[2015-12-01].http://www.biomedcentral.com/about/xml.
[6]Gamble G.InDesign CS5 Automation Using XML and JavaScript[M].Createspace,2011.