当使用ghostscript时,ghostview中设置分辨率72的等效性是多少?

时间:2011-05-24 11:47:19

标签: tiff ghostscript postscript

当我使用ghostsview将postscript文件转换为tiff时,我使用格式72,但是如果我想在使用ghostscript时使用相同的格式,我应该使用哪种分辨率? 例如

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r????? -sOutputFile=a.tif a.ps

好像是

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r600 -sOutputFile=a.tif a.ps

但这不完全正确。

编辑: 我的意思是在ghostsview中,这是ghostscript的gui版本,我可以设置分辨率让我们说“tiffcrl”为72,96,204x196和204x98。我想要的是获得与ghostview中将分辨率设置为72时相同的输出,就像我使用Ghostsript gswin32c.exe

gsview中的默认设置是什么,所以我可以直接将它们传输到命令行提示符中,以便输出结果相同?

EDIT2: gsview的版本是4.9,ghostscript的安装版本是9.01,我的操作系统是windows 7 32bit,我只安装了一个ghostscript版本。

我所做的是用gsview打开Postscript文件,然后按“文件”下的“转换”。之后我选择设备tiffcrle和分辨率72.所有其他选项都是默认的(我没有搞砸它们可以这么说)。 我这样做的文件的分辨率为4958x7017。

当我使用ghostscript

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffcrle -r72 -sOutputFile=a.tif a.ps

我得到一个更小的文件(kb明智),分辨率为595x842,分辨率非常糟糕。

我也尝试过相同的命令,但使用-r600,它给了我一个与gsview make文件具有相同分辨率的文件,但它有不同的大小(kb明智)。

当我尝试命令时,你提供了@pipitas:

gswin32c.exe -o nul -sDEVICE=tiffcrle -c "currentpagedevice {exch ==only ( ) print == } forall" | findstr /i resolution

我得到了结果

/.MarginsHWResolution [204.0 196.0] /HWResolution [204.0 196.0]

当我在-r204x196下尝试该分辨率时,它仍然不会提供相同的输出。

祝你好运!

3 个答案:

答案 0 :(得分:5)

默认情况下,Ghostscript对所有(像素)图像输出设备使用72dpi分辨率。但它为pdfwrite输出设备使用720dpi。如果您的命令行未指定其他值,则会应用这些默认值,例如-r200-r204x196

要确定输出页面的整体尺寸,您可以使用-gWWWxHHH指定宽度和高度(以像素为单位)。

Ghostview是Ghostscript的GUI包装器,但是由不同的开发人员/公司制作。 Ghostview在内部使用Ghostscript作为其解释器和渲染器。它允许您通过GUI设置不同的-rNNxMM分辨率。

在Windows上,有两个Ghostscript命令:

  • gswin32c.exe :这会输出cmd.exe屏幕中的所有内容,并从中获取所有输入(如果您处于交互模式)。
  • gswin32.exe :这将为stdout输出打开一个新窗口(如果处于交互模式,也会打开输入)

这两个命令都接受-rNNxMM-gWWWxHHH参数。要完全理解它们的工作原理,您应该使用不同的

变体
 gswin32.exe -rNNNxMMM -gWWWxHHH c:/path/to/file.pdf

无论如何,标题中对问题的简短回答是:在Ghostview中将分辨率设置为72 dpi的等价物,对于Ghostscript是:将-r72添加到Ghostscript命令行参数。 (但是这个值无论如何都用于JPEG,PNG,TIFF和其他图像输出......)


更新

您可以查询Ghostscript用于特定输出设备的所有默认值。例如,通过运行以下命令来尝试tiffg4输出:

gswin32c.exe ^
  -o nul ^
  -sDEVICE=tiffg4 ^
  -c "currentpagedevice {exch ==only ( ) print == } forall"

由于您对解决方案感兴趣,请在Windows上对其进行修改:

gswin32c.exe ^
  -o nul ^
  -sDEVICE=tiffg4 ^
  -c "currentpagedevice {exch ==only ( ) print == } forall" | findstr /i resol

你应该看到这个输出:

  /.MarginsHWResolution [72.0 72.0]
  /HWResolution [72.0 72.0]

pdfwrite等其他设备会产生不同的结果,因为它使用不同的默认设置:

C:\> gswin32c -o nul -sDEVICE=pdfwrite -c "currentpagedevice{exch print ==}forall"|findstr/i resolution

  /.MarginsHWResolution [720.0 720.0]
  /MonoImageResolution 300
  /GrayImageResolution 72
  /HWResolution [720.0 720.0]
  /ColorImageResolution 72

答案 1 :(得分:2)

Ghostscript开关记录在/ gs / doc中,您可以从Use.html开始。

使用-r开关设置分辨率,如果你想要72 dpi的分辨率,你可以设置-r72 对我来说,使用“使用格式72”的意思并不明显,这种格式不是(或者似乎不是我)。但你的命令l; ine似乎让你想要解决方案。

答案 2 :(得分:1)

在看到你如何继续使用Ghostview以便从输入PS文件创建TIFF输出之后,我现在完全相信以下Ghostscript命令将获得完全相同的结果:

gswin32c.exe ^
    -o output.tif ^
    -sDEVICE=tiffcrle ^
    -r72x72 ^
    -g595x842 ^
     input.ps

(这假设您确实在“固定页面大小”中保留了Ghostsview中的默认设置。