如何下载PDF文件中的图像?

需要一个基于Java的解决scheme,或者最糟糕的是,Linux的命令行。

我试图使用Ghostscript:

gs -sDEVICE=pdfwrite -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor \ -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=1 \ -sOutputFile=downgraded.pdf leon_range_my12_w22_brochure.pdf 

但是我得到了很多错误

Solutions Collecting From Web of "如何下载PDF文件中的图像?"

下面是如何使用Ghostscript命令行将所有(彩色,灰色和单色)图像缩减到72dpi的示例:

 gs \ -o downsampled.pdf \ -sDEVICE=pdfwrite \ -dDownsampleColorImages=true \ -dDownsampleGrayImages=true \ -dDownsampleMonoImages=true \ -dColorImageResolution=72 \ -dGrayImageResolution=72 \ -dMonoImageResolution=72 \ -dColorImageDownsampleThreshold=1.0 \ -dGrayImageDownsampleThreshold=1.0 \ -dMonoImageDownsampleThreshold=1.0 \ input.pdf 

更新:
*ImageDownsampleThreshold=1.0参数强制所有图像的分辨率高于72 dpi的目标分辨率将被下采样。 如果未给出该参数(或设置为不同的值),则将使用默认值: *ImageDownsampleThreshold=1.5 。 这个默认值只会对108 dpi(或更高)的图像进行缩减采样,并保持其他值不变。

这是我正在使用的:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=OUTPUT.pdf INPUT.pdf

供你参考:

-dPDFSETTINGS = /屏幕(纯视屏质量,72 dpi图像)

-dPDFSETTINGS = /电子书(低质量,150 dpi图像)

-dPDFSETTINGS = /打印机(高质量,300 dpi的图像)

-dPDFSETTINGS = /印前(高品质,保色,300 dpi imgs)

-dPDFSETTINGS = /默认(几乎与/屏幕相同)

试试moonshiner ,一个GUI来鬼影。

对于其中每个页面都是全彩图像的扫描文档,我使用上面的命令行和另一个在另一个网站上找到的命令行的组合,

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \ -dColorImageResolution=150 -dNOPAUSE -dBATCH -sOutputFile=output.pdf input.pdf 

我的每一页都是文档的彩色扫描。 这个命令行将页面的分辨率降低到150dpi,将文件大小减半,而没有明显的分辨率损失。 它仍然看起来不错,文本在我的Nexus 7上可读性很好。