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

时间:2016-10-20 15:24:12

标签: php rotation imagemagick ghostscript

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

我尝试了什么?

  

使用ImagicMagick

我尝试过以下命令。

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

结果: -

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

  

使用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

结果: -

没有命令执行旋转,并且使用last命令,整个eps文件变为白色但文件中有注释。文件大小也从1.3MB减少到166KB

Sample .EPS FILE

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

1 个答案:

答案 0 :(得分:1)

所以你没有说出你希望文件旋转的方式,也不知道旋转文件的方式。

此命令行:

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

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

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

最后的说明;这并不是简单地“旋转EPS”,-c和-f之间的代码就是这样做的。这样做是将EPS解释为图形基元,将这些基元传递给设备,然后组装一个包含这些基元的适当表示的新输出文件。

因此,生成的EPS文件的内容与原始EPS文件的内容类似 nothing

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