当我使用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下尝试该分辨率时,它仍然不会提供相同的输出。
祝你好运!
答案 0 :(得分:5)
默认情况下,Ghostscript对所有(像素)图像输出设备使用72dpi分辨率。但它为pdfwrite
输出设备使用720dpi。如果您的命令行未指定其他值,则会应用这些默认值,例如-r200
或-r204x196
。
要确定输出页面的整体尺寸,您可以使用-gWWWxHHH
指定宽度和高度(以像素为单位)。
Ghostview是Ghostscript的GUI包装器,但是由不同的开发人员/公司制作。 Ghostview在内部使用Ghostscript作为其解释器和渲染器。它允许您通过GUI设置不同的-rNNxMM
分辨率。
在Windows上,有两个Ghostscript命令:
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中的默认设置。