使用 eps2write 创建纯 ASCII 的 EPS

Create ASCII-only EPS with eps2write

我有纯 ASCII EPS 文件,需要将文本转换为路径。我通过以下方式执行此操作:

gs -sDEVICE=eps2write -dNoOutputFonts -o out.eps in.eps

生成的 EPS 包含一些二进制流,如下所示:

distiller 参数似乎 can also be used for PostScript output devices (to me, the PostScript output looks pretty much like PDF with some header that implements PDF functionality in PostScript). However, in the documentation 我没有看到一个明显的参数可以使 Ghostscript 使用纯 ASCII 编码对流进行编码。我最好的猜测是 UseFlateCompression 选项,它没有效果:

gs -sDEVICE=eps2write -o out.eps -c '<</UseFlateCompression false>> setdistillerparams' -f in.eps

你说得对,在适当的情况下,蒸馏器参数也会影响 (e)ps2write 设备。而且 ps2write 输出从广义上讲是一个带有序言的 PDF 文件,序言定义了处理 PDF 运算符的特定例程(这不是 相当 正确,但它非常接近)。

根据文档,将 UseFlateCompression 设置为 false 无效。如果是这样,它只会将其切换到 LZWCompression,这对您真的没有帮助。

关于仅 ASCII 编码,没有针对每个对象或流执行此操作的选项,但您可以 select (e)ps2write 特定标志“-dCompressEntireFile”,它将对整个文件进行 LZWEncode然后对其应用 ASCII-85 编码。

这不是默认设置(以前是)的原因是因为我们收到了针对某些无法处理此组合的 PostScript 打印机的报告(错误出在打印机中,而不是 PostScript 程序中)并且我们必须更改默认设置以更好地支持这些打印机。

这应该会产生一个 ASCII EPS 文件,如果这是您的目标,尽管显然这不应该比 not 编码更必要......

顺便说一句,您 link 的文档是 9.16 版本,您真的应该考虑使用当前版本,以及随之而来的 documentation。该开关记录在第 6.5 "PostScript file output"

节的 vectordevices.htm 中