0

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

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

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

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

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

建议?

4

5 回答 5

2

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

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

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

于 2011-03-13T14:03:01.153 回答
1

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

于 2011-03-13T13:31:06.327 回答
0

你考虑过iText吗?

于 2011-03-12T17:01:39.170 回答
0

看看icePDF这里

于 2012-01-16T08:46:17.400 回答
0

Apache PDFBOX meets all criteria. https://pdfbox.apache.org/

The PDF to Image conversion is documented here: https://stackoverflow.com/a/23327024/3196753

于 2020-10-22T15:00:53.237 回答