我是一个新手,对矢量编辑不太了解。我正在尝试从.AI文件中导出一个.SVG文件。 然而,在导出时,生成的文件中出现了以下错误:
Error on line 57 at column 354: Namespace prefix inkscape for cy on namedview is not defined
请问有人能告诉我这是什么意思,以及如何解决它吗?
inkscape:label="Some label"
这些属性可能来自原始的SVG文件(我猜你是从维基百科上获取的?)。你可以安全地删除它们所有——可能使用文本编辑器中的grep查找和替换:
find inkscape:label="[^"]*" replace with ""
inkscape:(export-|connector-curvature)[^"]+"[^"]+"
。一旦你将副本另存为SVG格式并手动确定并修复问题,Illustrator就能够打开SVG文件,因此您可以将有问题的元素复制/粘贴回AI文件中,并解决问题。Inkscape允许您将文件保存为普通格式,这样就可以去除Inkscape的参考内容。还有一种批处理方法是使用命令行(bash)。
for i in *.svg; do inkscape -z -f $i -l $i; done
这可以应用于从Illustrator创建的“另存为”SVG文件(Illustrator目前不支持导出SVG)。我还没有找到一种方法来从Illustrator文件中获取引用,一旦它们被放进去了。现在,我只能后处理所有由Illustrator创建的SVG文件。