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

Joe*_*Joe 2 tiff postscript ghostscript

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

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r????? -sOutputFile=a.tif a.ps
Run Code Online (Sandbox Code Playgroud)

好像是这样

gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -r600 -sOutputFile=a.tif a.ps
Run Code Online (Sandbox Code Playgroud)

但这不完全正确.

编辑:我的意思是在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下尝试该分辨率时,它仍然不会给出相同的输出.

最好的祝福!

Kur*_*fle 5

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

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

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

在Windows上,有两个Ghostscript命令:

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

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

 gswin32.exe -rNNNxMMM -gWWWxHHH c:/path/to/file.pdf
Run Code Online (Sandbox Code Playgroud)

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


更新

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

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

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

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

你应该看到这个输出:

  /.MarginsHWResolution [72.0 72.0]
  /HWResolution [72.0 72.0]
Run Code Online (Sandbox Code Playgroud)

不同的设备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
Run Code Online (Sandbox Code Playgroud)