如何将PDF转换为低分辨率(但质量好)的JPEG?

时间:2011-09-21 17:08:19

标签: pdf ghostscript postscript

当我使用以下ghostscript命令从PDF生成jpg缩略图时,图像质量通常很差:

gs -q -dNOPAUSE -dBATCH -sDEVICE=jpeggray -g465x600 -dUseCropBox -dPDFFitPage -sOutputFile=pdf_to_lowres.jpg test.pdf

相比之下,如果我使用ghostscript生成高分辨率png,然后使用mogrify将高分辨率png转换为低分辨率jpg,我会得到相当不错的结果。

gs -q -dNOPAUSE -dBATCH -sDEVICE=pnggray -g2550x3300 -dUseCropBox -dPDFFitPage -sOutputFile=pdf_to_highres.png test.pdf
mogrify -thumbnail 465x600 -format jpg -write pdf_to_highres_to_lowres.jpg pdf_to_highres.png

绕过中间版pdf有没有办法取得好成绩 - >高分辨率png步骤?我需要为大量的pdf执行此操作,因此我正在尝试最小化计算时间。

以下是上述图片的链接:

  1. test.pdf
  2. pdf_to_lowres.jpg
  3. pdf_to_highres.png
  4. pdf_to_highres_to_lowres.jpg

2 个答案:

答案 0 :(得分:5)

似乎可以大大改善输出的一个选项:-dDOINTERPOLATE。这是我通过运行与-dDOINTERPOLATE选项相同的命令获得的结果:

JPEG with -dDOINTERPOLATE

我不确定使用什么interpolation方法,但看起来相当不错,特别是与没有它的结果相比。

P.S。考虑输出PNG图像(-sDEVICE=pnggray)而不是JPEG。对于大多数PDF文档(往往只有几种纯色),它是more appropriate选项。

答案 1 :(得分:3)

你的PDF看起来好像只是一个jpeg的包装器。

尝试使用xpdf中的pdfimages程序来提取实际图像而不是渲染 到文件。