在 ghostscript 中旋转 jpeg 图像

Rotate jpeg images in ghostscript

我正在使用 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。 错误:/undefined in E:\temp\myFile.ps 操作数栈:

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

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 岁),您真的应该更新。