Sun將一個新的開源項目——PDF Renderer——作為SwingLabs的一部分于近日發(fā)布.
Sun 對該項目的描述是:“一個100%用Java編寫的PDF渲染器和查看器”.PDF Renderer可以用來將可移植文檔格式(Portable Document Format,PDF)從文件中解析出來,并以AWT圖像或任何Graphics2D的實現(xiàn)形式在panel中顯示.該項目與SwingLabs的其他部 分一樣,都是以LGPL許可發(fā)布的.
在項目首頁上列出了一些潛在的用途:
在用戶自己的應(yīng)用中查看PDF.
提供PDF文件的打印預(yù)覽.
將PDF繪制為PNG圖像,用以在服務(wù)器端的Web應(yīng)用中顯示.
將PDF合并到3D場景中.
在PDF之上繪圖,并可以在網(wǎng)絡(luò)查看器中進行標注.
雖然這個項目是在2007年12月被開源的,但是它卻有一段頗久的歷史:
在2003年,Sun實驗室的一群研究員開發(fā)出了PDF Renderer,當(dāng)時它還是一款視頻協(xié)作工具,Sun(TM)Labs Meeting Suite的一部分.這個工具在Sun內(nèi)部的分布式會議中得到了廣泛應(yīng)用.Meeting Suite的設(shè)計初衷是方便人們使用OpenOffice創(chuàng)建的文稿做發(fā)言.
現(xiàn)在,這個公眾項目還只是處于早期階段,所以文檔資源還很凌亂,也沒有很大的用戶社區(qū).但是,Joshua Marinacci希望通過把這個項目開源,把那些可能為項目貢獻力量的開發(fā)者們凝聚成一個社區(qū):
雖然最原始的代碼是來自Sun的,但我們希望能獲得社區(qū)的高度參與.為保證這一點,我們聘請了Elluminate的Tom Oke來管理這個項目.他將擔(dān)任項目所有者和首席架構(gòu)師的角色.他很快掌握了現(xiàn)有的代碼,并期待著與其他的參與者進行討論.
我們最開始的目標是將PDF輸出成OpenOffice格式,所以有些特性被遺漏掉了.它實現(xiàn)了絕大多數(shù)的PDF 1.4規(guī)范,但是少了透明度(transparency),填充表單(fill-in forms)和某些特定的字體編碼.我們希望有興趣的開發(fā)者可以幫助我們完成這些特性.
另外,Josh還將這個項目與其他PDF庫進行了比較:JPedal使用了GPL許可,所以有些應(yīng)用根本就沒法用它.我們認為對于類似這樣的庫而言,使用LGPL是更好的選擇.iText不是一個查看器/渲染器.它可以生成PDF文檔,但并不能查看文檔.這讓iText和SwingLabs PDF Renderer變成了優(yōu)秀的合作伙伴.我期盼著看到人們?nèi)绾螌⑺鼈冞M行合并.
訪問:PDF Renderer: a 100% Java PDF renderer and viewer
客戶虐我千百遍,我待客戶如初戀!