写点什么

Sun 发布了开源的 PDF Renderer

  • 2007-12-16
  • 本文字数:937 字

    阅读完需:约 3 分钟

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

2007-12-16 08:032424
用户头像

发布了 197 篇内容, 共 58.0 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

直播预告|Apache APISIX x KubeSphere 在线 Meetup 来袭

API7.ai 技术团队

APISIX KubeSphere

中软鸿联:集聚智能化能量势场,点燃小家电创新星火

中软国际AIoT开发者社区

智慧家电

KMP算法的实现详解

lovevivi

c 数据结构 10月月更

Java基础(五)| 方法的定义、调用及重载

timerring

Java 10月月更 方法重载

NFT 数据基础设施 NFTScan 的产品介绍【科普】

NFT Research

区块链 NFT 数据基础设施

MASA Framework的异常处理

MASA技术团队

.net MASA Framewrok MASA

真机调试设备不够?荣耀云调试帮你忙

荣耀开发者服务平台

开发者 手机 云服务 荣耀 honor

ctk流程

留白的艺术

大学毕业后转行软件测试我后悔了

测吧(北京)科技有限公司

测试

公网对讲SDK| 快速搭建公网对讲应用

anyRTC开发者

音视频 监听 快对讲 AI降噪 录音

云原生时代的DevOps平台设计之道

北京好雨科技有限公司

开奖啦!看看 9 月月更获奖名单有没有你?

InfoQ写作社区官方

热门活动

Qt示例 | 模拟时钟示例 Analog Clock Example

YOLO.

qt 10月月更 C++

开源云原生平台对比 KubeSphere vs Rainbond

北京好雨科技有限公司

中原银行:基于StarRocks构建OLAP全场景架构解决方案,迈入极速统一时代

StarRocks

数据库

手撕常见JS面试题

helloworld1024fd

JavaScript

从零开始实现一个Promise

helloworld1024fd

JavaScript

基于纯前端类Excel表格控件实现在线损益表应用

葡萄城技术团队

前端 Excel 报表

kubernetes为什么会火?为什么值得我们学习?

王中阳Go

Kubernetes k8s 容器编排 10月月更 动态扩缩

什么是云渲染?《阿凡达》《阿丽塔》告诉你

Finovy Cloud

人工智能 云渲染

C# ref用法,实现引用传递(地址传递)

IC00

C# 学习 程序员 上位机 10月月更

喜迎华诞,openEuler 22.09 正式发布,与1265名开发者共建面向数字基础设施的开源操作系统

openEuler

开源 开源操作系统 open Euler

Qt | 本地存储配置信息 QSettings

YOLO.

qt 10月月更 C++

中软鸿联:数字为运动蓄能,智能为健康充值

中软国际AIoT开发者社区

智能穿戴 运动健康

故障复盘究竟怎么做?美图SRE结合10年经验做了三大总结(附模板)

TakinTalks稳定性社区

运维 SRE SRE实践

【kafka】kafka的服务复用与隔离设计方案

石臻臻的杂货铺

kafka 后端 10月月更

数有引力 智造未来 | 华为云云商店星品推介会·厦门站

极客天地

2022互联网母婴行业用户洞察

易观分析

互联网 母婴

MySQL高级--性能优化之慢日志查询

Java学术趴

10月月更

【数据结构之红黑树】深入原理与实现

C++后台开发

数据结构 后端开发 红黑树 linux开发 C++开发

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript

Sun发布了开源的PDF Renderer_Java_Geoffrey Wiseman_InfoQ精选文章