如何使用Java从pdf中提取图像(不使用pdfbox)

我正在研究如何从一个大的(> 300MB)PDF文件中提取图像。 我正在使用pdfbox但由于某些特殊原因我无法弄清楚,有些页面未正确提取。

我正在使用pdfbox的PDFToImage类作为我的代码的基础。

那么,你知道另一个可以帮助我做这个的图书馆吗? 我知道可以使用iText,但我读到它不能用于商业产品。

我已经安装了软件包xpdf和xpdf-utils,名为pdfimages的实用程序工作正常。 但我需要从Java解决这个问题,它应该是可移植的。

我认为你在谈论两件不同的事情:从PDF中提取图像,以及将PDF页面转换为图像。 PDFToImage将为每个页面输出图像,而pdfimages将提取所有嵌入的图像(例如,文本文档具有0个图像)。

看看org.apache.pdfbox.ExtractImages ,看看它是否符合您的要求。

使用300 Mb PDF的最难的原因是你的内存不足。 如果它适用于较小的PDF,我会仔细研究它失败的原因。

你有没有尝试过icepdf或JPedal (都是纯java)?