我有一个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
,则页面大小正确但图像质量非常好。
是否有另一种方法可以在不影响图像尺寸的情况下提高图像质量?
由于
答案 0 :(得分:11)
知道了!在我的GS命令中添加了以下参数:
-dDownScaleFactor=3
这会导致内部渲染按给定的比例缩小 输出前的(小整数)因子。例如,以下内容 将从300dpi内部渲染产生200dpi输出png:
gs -sDEVICE=png16m -r600 -dDownScaleFactor=3 -o tiger.png\ examples/tiger.png
答案 1 :(得分:2)
使用它们
gs
-sDEVICE=png16m
-dDEVICEWIDTHPOINTS=$l
-dDEVICEHEIGHTPOINTS=$h
-r600
-dDownScaleFactor=3
-o tiger.png\
examples/tiger.png
其中$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