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

时间:2011-03-12 16:52:22

标签: java pdf pdf-rendering

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

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

我浏览了一下,发现大多数PDF库项目都专注于操作或查看PDF,但没有那么多将它用作渲染引擎 - 这是我唯一需要的东西 - 至少有一个与商业版相比,引擎故意削弱了开源版本中的字体引擎。

因此,我需要一个PDF库的建议:

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

建议?

5 个答案:

答案 0 :(得分:2)

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

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

无论如何我不会使用java,但更喜欢使用ghostscript来提高速度和稳健性。但要注意,如果你不“使用”长臂“库,你将违反它所发布的GPL。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您考虑过iText吗?

答案 3 :(得分:0)

查看icePDFhere

答案 4 :(得分:0)

Apache PDFBOX符合所有条件。 https://pdfbox.apache.org/

此处将PDF转换为图像: https://stackoverflow.com/a/23327024/3196753