用于打印图形的 SVG

平面设计 svg
2021-12-30 14:08:15

可缩放矢量图形在打印方面的效果如何?

我需要以编程方式生成图形以包含在打印文档中。目标文件格式似乎只有两个重要的竞争者,EPS 和 SVG。

作为程序员,SVG 看起来更容易使用,但它似乎并没有被图形行业所接受。曾经有基于 SVG 的打印图形的项目(例如 Adob​​e PDFXML),但现在似乎没有一个是活跃的。此外,Adobe 的工具似乎已经结束了与 SVG 的短暂接触。

如果我选择 SVG 作为可交付格式,与替代方案相比可能存在哪些问题?我听说过关于 SVG 处理文本的抱怨,但我没有找到任何详细的讨论。我怀疑可能是一个问题的另一件事是 SVG 转换为 PDF 的干净程度。

4个回答

实际上,对于打印 EPS 或 PDF 会更好。SVG 适用于 Web(这是它的设计目的),但打印时通常会出现 RIP 问题。大多数获得 SVG 文件的设计师会在矢量应用程序中打开它们,然后重新保存为原生文件、eps 或 PDF。我永远不会将 SVG 文件发送给打印提供商。

我使用abcPDF以编程方式将生成的 SVG 转换为 PDF 以用于打印目的。大约 4 年了,但我无法想象图书馆对它的支持会减少。

Inkscape 可以通过命令行将 SVG 文件转换为 PDF 和 EPS。谷歌“svg 到 eps 命令行”。这对于用于 Web 和印刷交付的图形来说是一个很好的解决方案。

请注意,虽然这应该在 Linux 上运行,但在 Mac 上通过命令行的 Inkscape 有点损坏(可能必须自己编译 Inkscape 或更改 .app 内的文件链接)

所有行业(激光切割机、铣床等)都依赖于使用 DXF“做物理工作”,这是一个Drawing Exchange Format可以转换为 JSON AST(为此目的有许多库),可以精确转换为 SVG;所以没有可能的理由阻止 SVG 用于打印目的。

用于此目的的 SVG 的一个关键属性是viewBox=指示绘图的真实世界尺寸。viewBox=应该与width=and匹配height=,否则你会得到裁剪和缩放的打印。您应该viewBox=在导出时提供属性并在导入时要求它。

不过,您可能会遇到 SVG 的问题,但这不是 SVG 的错:那里有许多错误的驱动程序/应用程序。

在我的公司,我们使用 SVG 作为默认的绘图交换格式。