通过 ImageMagick 或 GhostScript 命令行旋转 .EPS 文件

.EPS file rotation via ImageMagick or GhostScript command line

我想使用 imagemagick 或 GhostScript 命令行旋转 .eps 文件。我已成功旋转 .tif/.tiff 个文件,但无法旋转 .eps 个文件。

我试过什么?

Using ImagicMagick

我试过以下命令。

/usr/bin/convert /usr/local/1476864737b31068.eps -rotate 90 /usr/local/1476864737b31068.eps

结果:-

整个eps文件变黑,文件中没有内容。文件大小也从 1.3MB 增加到 3.3MB

Using GhostScript

我试过以下命令。

gs -c '612 0 translate 90 rotate' -f /usr/local/1476864737b31068.eps
gs -dEPSCrop -c "<</Orientation 1>> setpagedevice" -f input.eps -c quit
gs -dEPSCrop -sOutputFile=/usr/local/1476864737b31068.eps -c "<</Orientation 1>> setpagedevice" -f /usr/local/1476864737b31068.eps -c quit
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=eps2write -sOutputFile=/usr/local/1476864737b31068.eps -c "<</Orientation 3>> setpagedevice" -f /usr/local/1476864737b31068.eps

结果:-

没有命令进行旋转,使用最后一个命令,整个 eps 文件变成白色,但文件中没有注释。文件大小也从 1.3MB 减少到 166KB

Sample .EPS FILE

注意:我正在尝试旋转源 (.eps) 文件,我不需要旋转 JPG、PNG 等输出文件。

所以你没有说你想要文件旋转的方式,也没有说旋转多少。

此命令行:

gs -sDEVICE=eps2write -sOutputFile=out.eps -c "<</PageSize [569 944]>>setpagedevice 569 0 translate 90 rotate" -f 1476864737b31068.eps

创建一个相对于原始文件逆时针旋转 90 度的新 EPS 文件。显然,如果你想旋转不同的量,你需要改变平移和旋转操作数。

当然,EPS 文件应该包含在封闭的 PostScript 程序中,因此缩放和旋转通常在那里执行。

最后的注释;这不仅仅是 'rotating the EPS',-c 和 -f 之间的代码就是这样做的。这样做是将 EPS 解释为图形基元,将这些基元传递给设备,然后 assemble 一个包含这些基元的适当表示的新输出文件。

因此生成的 EPS 文件的内容看起来与原始 EPS 文件的内容完全不同

顺便说一下,您可能需要考虑其他文件共享服务。在让我下载文件之前,那个人试图下载浏览器扩展程序(视频下载助手),当我拒绝时,我将我重定向到另一个试图安装恶意软件的(广告)网站....