【问题标题】:Most reliable open source Java library for converting PDF-files to bitmaps [closed]用于将 PDF 文件转换为位图的最可靠的开源 Java 库 [关闭]
【发布时间】:2011-03-12 16:52:21
【问题描述】:

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

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

我环顾四周,发现大多数 PDF 库项目都专注于处理或查看 PDF,但不像渲染引擎那样使用它——这是我唯一需要的东西——而且至少有一个与商业版本相比,开源版本的字体引擎故意削弱了字体引擎。

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

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

建议?

【问题讨论】:

  • 请不要只提及可以进入 cmets 的项目。
  • @Thorbjørn Ravn Andersen - 我自己也对此深思熟虑并删除了我的帖子。 T
  • 一个选项是 [apache PDFBox][pdfbox.apache.org/] 和示例 [这里][kickjava.com/src/org/pdfbox/PDFToImage.java.htm]
  • 您对您提到的软件包有实际经验,并亲身了解它们可以满足我的需求吗?
  • 我只将它用于文本提取,它对我的​​目的来说工作得很好。但不幸的是,无论如何都不是其内部细节的专家。

标签: java pdf pdf-rendering


【解决方案1】:

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

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

无论如何,我不会在这里使用 java,但更喜欢使用 ghostscript 的速度和健壮性。但请注意,如果您不“在一定程度上”使用该库,您将违反发布它的 GPL。

【讨论】:

【解决方案2】:

你的清单是矛盾的。许可证的“限制越少”,有趣的支持和开发的收入就越少。哪个对你更重要?您可以使用 Multivalent 或 PDFRenderer(非常免费,但不受支持)或 IText、Icepdf 或 JPedal,它们具有开源和商业版本,但由于有收入来源而积极开发。

【讨论】:

  • 正如我所写,我不介意商业升级路径,例如为大批量客户提供更快的打印或类似功能,但我现在正在寻找的切入点也必须适用于小批量。
【解决方案3】:

你考虑过iText吗?

【讨论】:

  • 您是否有使用 iText 的实际经验并亲身了解它可以满足我的需求?
  • 最新版本的 iText 不是在商业友好许可下开源的。旧版本是。
【解决方案4】:

看看icePDFhere

【讨论】:

    【解决方案5】:

    Apache PDFBOX 符合所有标准。 https://pdfbox.apache.org/

    此处记录了 PDF 到图像的转换: https://stackoverflow.com/a/23327024/3196753

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      相关资源
      最近更新 更多