在 ghostscript 中旋转 jpeg 图像
Posted
技术标签:
【中文标题】在 ghostscript 中旋转 jpeg 图像【英文标题】:Rotate jpeg images in ghostscript 【发布时间】:2020-09-11 10:07:28 【问题描述】:我正在使用 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 ringval-- 2 %stopped_push --nostringval-- 字典栈: --dict:1182/1684(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)-- 当前分配模式是本地的 最后一个操作系统错误:没有这样的文件或目录 GPL Ghostscript 9.10:不可恢复的错误,退出代码 1PS:- E:\temp\myFile.ps 位置和文件存在于我的系统中。
【问题讨论】:
【参考方案1】:您已经使用 -c 开关启动了任意 PostScript。从那时起,直到下一次切换的所有内容都被视为 PostScript。
您的命令行在结束 " 和输入文件名之间不包含任何 '-',因此输入文件名被视为 PostScript 程序的一部分。由于没有 PostScript 标记 'E;\temp\myFile.ps ' 解释器给你一个未定义的错误。
尝试在“...setpagedevice”之后放置-f
(-f 表示将下一个内容视为文件名)。
也就是说,我怀疑这是否会达到您想要的效果,这取决于输入文件中的内容。您已经使用了-dEPSCrop
,但文件名具有 .ps 扩展名。除非文件真的是 EPS,否则 EPSCrop 不会有任何效果。如果它是 EPS,则媒体大小将是 EPS BoundingBox 的尺寸,并且(我相信)方向将被忽略。如果输入文件不是 EPS,则 EPSCrop 将被忽略。
您使用的是非常旧的 Ghostscript 版本(7 岁),您应该更新一下。
【讨论】:
以上是关于在 ghostscript 中旋转 jpeg 图像的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上使用 Ghostscript 从 PDF 进行分页 JPEG 转换/导出
Ghostscript -- 将 PS 转换为 PNG、旋转和缩放