Ghostscript:质量和尺寸问题

时间:2013-07-22 14:25:43

标签: pdf pdf-generation ghostscript

我有一个ghostscript命令,可以将pdf转换为几个PNG图像(每页一个)。命令参数如下:

-dNOPAUSE -q -r300 -sPAPERSIZE=a4 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dUseTrimBox -sDEVICE=png16m -dBATCH -sOutputFile="C:\outputfile%d.png" -c \"30000000 setvmthreshold\" -f "C:\inputfile.pdf"

pdf在Adobe Reader中显示为常规A4页面,但在PNG图像中它变得很大(例如2480 x 3507像素)。

如果我将ghostscript命令中的分辨率更改为-r110,则页面大小正确但图像质量非常好。

是否有另一种方法可以在不影响图像尺寸的情况下提高图像质量?

由于

4 个答案:

答案 0 :(得分:11)

知道了!在我的GS命令中添加了以下参数:

-dDownScaleFactor=3

来自GS documentation

  

这会导致内部渲染按给定的比例缩小   输出前的(小整数)因子。例如,以下内容   将从300dpi内部渲染产生200dpi输出png:

 gs -sDEVICE=png16m -r600 -dDownScaleFactor=3 -o tiger.png\
      examples/tiger.png

答案 1 :(得分:2)

  1. 以磅为单位找到宽度和高度(%% BounDingBox)
  2. 使用它们

    gs 
    -sDEVICE=png16m
    -dDEVICEWIDTHPOINTS=$l 
    -dDEVICEHEIGHTPOINTS=$h
    -r600 
    -dDownScaleFactor=3 
    -o tiger.png\
    examples/tiger.png
    
  3. 其中$w是宽度,$h是高度

答案 2 :(得分:1)

质量规模的权衡是不可避免的。您可以选择不同的压缩来保持尺寸,同时保持合理的质量。例如。 DCT(jpeg)或jpeg2000如果您的内容主要包括摄影图像或CCITT或JBIG2,如果您的内容主要是黑白。

答案 3 :(得分:1)

我遇到了类似的问题,使用ghostscript将PDF转换为PNG会导致图像尺寸更大(包括额外的空白区域)。我使用

解决了这个问题
-dUseCropBox

... which sets the page size to the CropBox rather than the MediaBox