Ghostscript:如何确定将多页PDF转换为多个TIFF的输出分辨率

gal*_*ica 5 pdf tiff ghostscript

我需要从扫描仪中的一堆多页PDF文件中提取TIFF图像.在扫描期间,我指定了600dpi的分辨率.

  1. 这是我用来生成TIFF图像的代码:

    gs -q -dNOPAUSE -sDEVICE=tiffg4 \
       -sOutputFile=a_page%02d.tif a.pdf -r600x600 -c quit
    
    Run Code Online (Sandbox Code Playgroud)

    这给了我正确数量的TIFF图像,但图像尺寸小于我的预期.

    无论我如何更改-r选项,输出图像都具有相同的大小.

    这里发生了什么?

  2. 输出TIFF图像有一些压缩,我应该如何更改gs选项,使它们不包含任何压缩?

    http://pages.cs.wisc.edu/~ghost/doc/cvs/Devices.htm#TIFF 有几个选项可供选择,但在我看来,没有人的意思是"8位黑白"+"无压缩".

有人如何解决这两个问题?

Kur*_*fle 5

如果您用于tiffg4输出,则您隐含地要求在 PDF 中获取传真 G4 压缩类型。

您可以通过使用不同的 TIFF 输出设备来告诉 Ghostscript 不使用压缩,例如tiffgray(灰色,8 位)、tiff24nc(RGB-TIFF,每个颜色通道 8 位)、tiff32nc(CMYK-TIFF,每个颜色通道 8 位),.. .. 默认情况下,所有这些输出类型都是未压缩的。

您还可以使用tiffg4但删除压缩:

gs \
 -o a_page%02d.tif \
 -sDEVICE=tiffg4 \
 -r600x600 \
 -g4960x7020 \
 -sCompression=none \
  a.pdf
Run Code Online (Sandbox Code Playgroud)

顺便说一句,不存在“8 位黑白”这样的东西。有“1bit黑+白”,但一旦超过1bit,你就会进入灰度领域......:-)