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
客户虐我千百遍,我待客户如初恋!