3

在 Inkscape GUI 中,有一个很棒的功能,可以让我“另存为 -> 文件类型 -> 图层作为单独的 SVG”(底部的最后一个)。有没有办法从 CLI 做同样的事情?

到目前为止我所拥有的:

inkscape -z -l output.svg input.dxf

这会将“input.dxf”转换为“output.svg”,但我在这个 SVG 中找不到图层。

4

1 回答 1

2

在 Inkscape 社区的帮助下(特别感谢 @rindolf),我可以想出一个解决方案。

先决条件

  • Python 2.7(它不适用于较新的版本)
  • lxml ("pip 安装 lxml")

调整 Inkscape

将“Inkscape\share\extensions”中“tar_layers.py”第 36 行的'GROUP = "{ http://www.w3.org/2000/svg }g"' 更改为 'GROUP = "g"'。这必须完成,因为您的图层将没有该名称空间。

将 DXF 转换为多个 SVG(每层一个)

  1. 从 DXF 创建 Inkscape SVG:

    python 共享/扩展/dxf_input.py input.dxf > output.svg

  2. 将图层导出为 tar 中的单个 SVG:

    python share/extensions/tar_layers.py output.svg > output.tar

现在,您应该有一个包含 Inkscape SVG 的“output.tar”文件。如果您需要常规 SVG,则必须像这样导出它们:

inkscape -z -l output.svg input.svg

有关Inkscape CLI 的更多信息。

于 2016-04-19T21:35:19.617 回答