我想帮助改进使用ghostscript压缩.eps文件。
到目前为止,我使用了函数eps2write:
-sDEVICE=eps2write -r72 -dLanguageLevel=1 -sOutputFile="%HOMEDRIVE%%HOMEPATH%\Desktop\cleaned.eps" -dNOPAUSE -dEPSCrop %1 -c quit pause
如果我使用从Matlab获得的18Mo文件,则将其压缩到13Mo。不幸的是,它仍然太大而无法在Illustrator中打开。 任何提示都会非常受欢迎。
答案 0 :(得分:1)
首先,你不是'压缩'你的EPS程序,你正在创建一个全新的EPS程序,在视觉上应该是相同的。它是一个微妙的区别,但它很重要。记录在案here。
如果没有看到你的EPS程序,就不可能知道为什么它如此大,可能是它包含一个大的位图图像,但可能还有其他原因。不知道为什么文件很大,以及你准备接受什么样的质量妥协,就不可能提出减少文件的建议。
您的命令行执行 nothing ,我希望这会减少文件大小。
设置LanguageLevel = 1不执行任何操作,因为您正在使用始终写入2级输出的eps2write。如果它确实做了任何事情,它可能会使文件更大,因为所有语言2级结构都必须使用2级运算符重写。
将分辨率设置为72通常不会做任何事情,因为eps2write(和相关的设备系列)努力保留设备和输入的分辨率无关性。使用分辨率的时间是输入使用一些无法在输出中再现的图元,并且图元被渲染成图像。如果发生这种情况,我认为你会因极低的分辨率结果而感到震惊。
如果您想生成一个换档文件大小的新文件,那么您需要查看documentation中描述的各种选项。
有些事情可能减少文件大小,但代价是质量,特别是图像下采样参数。由您来决定您准备交换文件大小的质量,因此您必须决定将这些参数设置为什么级别。
程序完全可能非常复杂(例如很多长路径)并且不能显着减少。如果要修改内容,请返回Matlab,修改文档并重新创建EPS文件,PostScript不能用作可编辑的容器格式,而Illustrator不能用作图形PostScript编辑器。
答案 1 :(得分:0)
如果要压缩包含图像的eps文件,请尝试 ColorImageResolution 和 DownsampleColorImages 。
此命令对我有用:
gs -o outputfile.eps -sDEVICE=eps2write -dDownsampleColorImages=true -dColorImageResolution=300 inputfile.eps
根据需要调整dColorImageResolution = <resolution>
。 300足以打印文档。