如何在PDF文件中对图像进行下采样?

mac*_*iac 23 java linux pdf ghostscript

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

我试着使用Ghostscript:

gs -sDEVICE=pdfwrite -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor \
   -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=1 \
   -sOutputFile=downgraded.pdf leon_range_my12_w22_brochure.pdf
Run Code Online (Sandbox Code Playgroud)

但是我犯了很多错误......

Kur*_*fle 39

以下是使用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
Run Code Online (Sandbox Code Playgroud)

更新:
*ImageDownsampleThreshold=1.0参数强制执行所有与超过72 dpi的目标更高分辨率的分辨率的图像将被降采样.如果未给出此参数(或设置为其他值),则将使用以下默认值:*ImageDownsampleThreshold=1.5.此默认值仅对具有108 dpi(或更高)值的图像进行下采样,并保持其他图像不变.


Rog*_*ger 14

这就是我正在使用的:

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

供你参考:

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

-dPDFSETTINGS =/ebook(低质量,150 dpi图像)

-dPDFSETTINGS =/printer(高质量,300 dpi图像)

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

-dPDFSETTINGS =/default(几乎与/ screen相同)


小智 3

尝试一下Moonshiner,一个 Ghostscript 的 GUI。

  • @pipitas我没有对moonshiner做任何大的改变,主要是因为就我而言,它已经完成了。我同意缺乏活动使它看起来死气沉沉,但直到今天我仍然广泛使用它。我只是没有什么可补充的了:) (2认同)