【问题标题】:Create ASCII-only EPS with eps2write使用 eps2write 创建纯 ASCII EPS
【发布时间】:2016-05-29 09:32:24
【问题描述】:

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

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

生成的 EPS 包含一些像这样的二进制流:

似乎蒸馏器参数can also be used for PostScript output devices(对我来说,PostScript 输出看起来很像带有一些在 PostScript 中实现 PDF 功能的标头的 PDF)。但是,in the documentation 我没有看到明显的参数可以使 Ghostscript 使用纯 ASCII 编码对流进行编码。我最好的猜测是UseFlateCompression 选项,它没有效果:

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

【问题讨论】:

    标签: ascii ghostscript eps


    【解决方案1】:

    您是正确的,蒸馏器参数也会在适当的情况下影响 (e)ps2write 设备。此外,广义地说,ps2write 输出是一个带有序言的 PDF 文件,它定义了处理 PDF 运算符的特定例程(这不是完全正确,但非常接近)。

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

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

    这不是默认设置的原因(它曾经是)是因为我们有针对某些 PostScript 打印机的报告,这些打印机无法处理这种组合(错误在打印机中,而不是 PostScript 程序中)并且我们有更改默认值以更好地支持这些打印机。

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

    顺便说一句,您链接到的文档是 9.16 版本,您应该真正考虑使用当前版本以及随附的 documentation。该开关记录在第 6.5 节“PostScript 文件输出”的 vectordevices.htm 中

    【讨论】:

    • 对我来说,使用最新的 Ghostscript 版本已经成功了,并且只给了我 ASCII 文件。 -dCompressEntireFile 然而并没有什么不同。如果这似乎是一种更可靠的方式来保证我实际上只得到 ASCII 就好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    相关资源
    最近更新 更多