【问题标题】:How to convert PDF to low-resolution (but good quality) JPEG?如何将 PDF 转换为低分辨率(但质量很好)的 JPEG?
【发布时间】:2011-11-22 03:48:06
【问题描述】:

当我使用以下 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 -> high-res png 步骤的同时取得好的效果?我需要为大量 pdf 执行此操作,因此我试图将计算时间最小化。

以下是上述图片的链接:

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

【问题讨论】:

  • 看看this helpful answer,它可能会在不使用 Ghostscript 的情况下解决您的问题。它对我有用。

标签: pdf ghostscript postscript


【解决方案1】:

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

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

附:考虑输出 PNG 图像 (-sDEVICE=pnggray) 而不是 JPEG。对于大多数 PDF 文档(往往只有几种纯色),这是 more appropriate 的选择。

【讨论】:

  • +1 表示“考虑输出 PNG 图像”,图像压缩没有灵丹妙药,jpeg 对于带有文本或高对比度数字的图像通常不是一个好的选择。
  • 如果可以的话,我会投票 100 次这个答案!日复一日,-dDOINTERPOLATE 成为了解决方案
【解决方案2】:

您的 PDF 看起来只是 jpeg 的包装。

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

【讨论】:

  • 这可能适用于这个特定的测试文件,但我希望有一个更强大的解决方案,即使 PDF 没有包装单个图像。
猜你喜欢
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
  • 2011-09-27
  • 2011-09-30
  • 1970-01-01
相关资源
最近更新 更多