我正在寻找有助于以编程方式操作EPS(Encapsulated PostScript)文件的库.基本上,我想要做的是:
在EPS文件中显示/隐藏预先存在的图层(打开和关闭它们)
在EPS文件中填充(颜色)命名的形状
检索EPS文件中命名点的坐标
在EPS文件中的新图层上绘制形状
在服务器上,没有用户交互(脚本Adobe Illustrator将无法工作)
我知道EPS文件格式是如何基于PostScript语言的,因此必须进行解释 - 从头开始创建简单的图形非常简单.但是对于实际修改现有文件,我想你需要一个解释文件的库,并为操作提供某种"DOM".
我甚至可以在EPS文件中命名形状和点吗?
编辑:假设我将图层保存在单独的EPS文件中.或者更好的是:只是图层的"数据"部分.我可以连接这些东西来创建一个新的EPS文件吗?并附加绘图命令?填写现有的命名对象?
这非常困难,原因如下:PS文件是一个程序,其执行结果以像素放在页面上.PS程序中的指令处于"使用当前笔和颜色绘制线条"或"将坐标系旋转90度"的级别,但没有像在矢量绘图中看到的层或复杂对象的概念应用.
PS文件结构中很少有约定允许外部程序修改它们:页面分别标记,字体资源和媒体尺寸在特殊注释中拼写出来.对于必须遵循这些指南的嵌入式Postscript(EPS)尤其如此,因为它们应由应用程序读取,但不能用于通用PS,因为它被发送到打印机.PS程序的抽象级别远低于您所需的抽象级别,现在可以根据任意PS代码重构它.原则上,PS文件每次打印时都会产生不同的输出,因为它可以查询其执行环境并根据随机决策进行分支.
Adobe Illustrator等应用程序会发出遵循严格结构的PS代码.有可能在不解释代码的情况下解析和操作这些内容.我仍然建议重新考虑当前的架构:你所需要的抽象级别太低了.