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 变成了优秀的合作伙伴。我期盼着看到人们如何将它们进行合并。
评论