在 Inkscape GUI 中,有一个很棒的功能,可以让我“另存为 -> 文件类型 -> 图层作为单独的 SVG”(底部的最后一个)。有没有办法从 CLI 做同样的事情?
到目前为止我所拥有的:
inkscape -z -l output.svg input.dxf
这会将“input.dxf”转换为“output.svg”,但我在这个 SVG 中找不到图层。
在 Inkscape 社区的帮助下(特别感谢 @rindolf),我可以想出一个解决方案。
先决条件
调整 Inkscape
将“Inkscape\share\extensions”中“tar_layers.py”第 36 行的'GROUP = "{ http://www.w3.org/2000/svg }g"' 更改为 'GROUP = "g"'。这必须完成,因为您的图层将没有该名称空间。
将 DXF 转换为多个 SVG(每层一个)
从 DXF 创建 Inkscape SVG:
python 共享/扩展/dxf_input.py input.dxf > output.svg
将图层导出为 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 的更多信息。