Sun 发布了开源的 PDF Renderer

  • Geoffrey Wiseman
  • 李剑

2007 年 12 月 16 日

话题:Java开源DevOps语言 & 开发架构

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 变成了优秀的合作伙伴。我期盼着看到人们如何将它们进行合并。
查看英文原文Sun Releases Open-Source PDF Renderer
Java开源DevOps语言 & 开发架构