java - 用于将 PDF 文件转换为位图的最可靠的开源 Java 库

标签 java pdf pdf-rendering

我遇到一种情况,我想将用户提供的单页 PDF 转换为合适高分辨率的黑白位图,以便进一步处理(最终以专有打印解决方案结束)。所有这些都必须在 headless 模式下运行。

由于政治和技术原因,这必须是一个纯 Java 库(即没有 Ghostscript 包装器),目前我们对免版税的开源解决方案感兴趣,但性能并不是很重要。如果这个项目成功,我们可能需要升级到性能更高的专有库,但不是现在。

我环顾四周,发现大多数 PDF 库项目都专注于操作或查看 PDF,但不太注重将其用作渲染引擎 - 这是我唯一需要的东西 - 并且至少一个与商业版本相比,开源版本中故意削弱了字体引擎。

因此,我需要推荐一个 PDF 库:

  • 以 headless 模式将输入文件渲染为位图。
  • 全部是 Java,没有 native 代码。
  • 呈现所有常见的 PDF 文件(无效或格式不正确的文件除外)
  • 是开源的,具有商业友好的许可证。
  • 稳健
  • 积极维护
  • 可能会很慢或无法处理多个页面(商业版本中取消了更多页面的限制)

建议?

最佳答案

没有这样的库。能够正确渲染嵌入字体的Java库都是商业的(半年前我不得不对类似问题进行详尽的搜索)。

我不知道确切的原因,但相信对嵌入字体进行真实类型渲染可能会因 adobe 的许可而受到某种保护,该公司拥有 TrueType 的一些专利。充其量它只是很难实现,所以经历过这个的每个人都想要一些钱。我选择了 PDFOne,因为它们非常便宜(单座 redist 许可证约 400 美元),而且相对较好。他们在某些编码方面仍然存在问题,但对我们有用。

无论如何,我不会在这里使用java,但更喜欢使用ghostscript,因为它的速度和鲁棒性。但请注意,如果您不“谨慎”使用该库,您将违反其发布的 GPL。

关于java - 用于将 PDF 文件转换为位图的最可靠的开源 Java 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283933/

相关文章:

java - 有些测试用例没有运行,但有些是概率测试

python - 生成带有附件的 protected Django 网页的 PDF

android - 渲染/显示和播放嵌入 pdf、Android 的 youtube 视频

internet-explorer - 在 IE 浏览器中打开 PDF 时出现网络错误

java - 使用现有的 http 客户端进行 SOAP 调用

java - 我想遍历hashmap并调用其中对象的方法

javascript - pdf.js 查看器错误地存储图像数据

java - 使用 Flying Saucer PDF 渲染将格式错误的 HTML 转换为 PDF

java - 如何使用 Spring Data Cassandra 将域对象映射到 CQL 表?

ios - 从 UIWebView 在 Safari 中打开 URL 文件 (.pdf)