2010-11-30 145 views
6

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

我使用PDFTo PDF图像类作为我的代码的基础。

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

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

+0

您可以将xpdf-utils移植到Java。 – erjiang 2010-11-30 16:15:06

+1

除非您购买商业许可,否则iText属于GPL。 – 2010-11-30 16:16:41

+0

我会尝试使用版本<5,我认为对版本> = 5,许可条款的更改已更改。 – 2010-11-30 16:56:17

回答

5

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

看看org.apache.pdfbox.ExtractImages看看它是否做你想要的。

0

300 Mb PDF难以处理的最可能原因是您的内存不足。如果它适用于较小的PDF,我会仔细看看它为什么失败。