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