关于自动化:以编程方式将SVG形状转换为路径(lineto、moveto)

Programmatically convert SVG shapes to paths (lineto, moveto)

我有一个来自Inkscape、Illustrator或任何其他应用程序的SVG文件。我要将形状转换为linetomovetocurveto格式。

我想要的是:

1
./Appname svgfile outfilewithpath

我将把svg文件作为参数,然后我的应用程序将对象转换为相应的路径。


Inkscape有一个命令行接口。使用Inkscape手册页和动词源代码作为参考:

ObjectToPath动词将对象转换为路径:

1
inkscape filename.svg --select=myobject --verb=ObjectToPath --export-plain-svg=filename_to_path.svg

export-text-to-path参数将文本节点转换为路径:

1
inkscape filename.svg --export-eps=filename.eps --export-text-to-path

以下是有关如何从Perl、Ruby、PHP或Python运行Inkscape的相关问题:

  • 使用Perl中的inkscape shell
  • 在PHP中运行Inkscape
  • 在python中调用inkscape
  • 墨景融合红宝石


这就是我最终的工作:

1
inkscape -f filename.svg --verb EditSelectAll --verb SelectionUnGroup --verb EditSelectAll --verb ObjectToPath --verb FileSave --verb FileQuit

运行大约需要9秒钟,并短暂打开Inkscape GUI,它将成为活动的应用程序,因此这并不理想,但这是我能找到的唯一可行的答案。