旋转ghostscript中的jpeg图像

问题描述

我正在使用ghostscript将.ps文件转换为.jpeg文件。但是输出文件应旋转180度。

我正在使用以下命令进行旋转。

gswin64c.exe -sDEVICE = jpeg -dBATCH -dnopAUSE -dSAFER -r300x300 -sOutputFile = E:\ temp \ test.jpg -dEPSCrop -c“ > setpagedevice”“ E:\ temp \ myFile .ps。

出现以下错误

GPL Ghostscript 9.10(2013-08-30) 版权所有(C)2013 Artifex Software,Inc.保留所有权利。 该软件不提供任何担保:有关详细信息,请参见文件PUBLIC。 错误:/在E:\ temp \ myFile.ps中未定义 操作数堆栈:

执行堆栈: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-

  • 2%stopped_push --nostringval-- --nostringval-- --nostringval-- fa lse 1%stopped_push .runexec2 --nostringval-- --nostringval-- --nost 铃声-2%stopped_push --nostringval-- 字典堆栈: --dict:1182/1684(ro)(G)---dict:0/20(G)---dict:77/200(L)- 当前分配模式为本地 上一个操作系统错误:没有这样的文件或目录 GPL Ghostscript 9.10:不可恢复的错误退出代码1

PS:-E:\ temp \ myFile.ps位置和文件存在于我的系统中。

解决方法

您已经使用-c开关启动了任意PostScript。从那时起,直到下一个开关都被视为PostScript。

您的命令行在结尾“和输入文件名之间不包含任何'-',因此输入文件名被视为PostScript程序的一部分。由于没有PostScript标记'E; \ temp \ myFile.ps '解释器给您一个未定义的错误。

尝试在{... setpagedevice“之后放置-f(-f表示将下一个东西当作文件名)。

也就是说,我怀疑这是否可以实现您想要的,这取决于输入文件中的内容。您使用过-dEPSCrop,但文件名的扩展名为.ps。除非该文件确实是EPS,否则EPSCrop不会有任何效果。如果是EPS,则介质尺寸将为EPS BoundingBox的尺寸,并且(我相信)方向将被忽略。如果输入文件不是EPS,则EPSCrop将被忽略。

您使用的是非常老的Ghostscript版本(7岁),您应该进行真正的更新。