在Inkscape插件中加载和修改svg

我目前正在使用Python编写一个Inkscape插件。 在此插件中,我想从插件文件夹加载模板(现有的svg),并通过名称或密钥访问此模板中的某些对象。 然后我想更改对象的边框和/或填充颜色,并向其中添加一些文本。 我如何使用inkscape的python脚本接口来做到这一点? 我发现了几个关于如何为inkscape编写插件的示例(请参见下文),但它们都适用于现有的已打开文档。

  • http://www.hoboes.com/Mimsy/hacks/write-inkscape-extension-create-multiple-duplicates/
  • http://wiki.inkscape.org/wiki/index.php/Scr​​ipt_extensions
  • http://ospublish.constantvzw.org/blog/tools/inkscape-plugins-in-python
  • http://wiki.inkscape.org/wiki/index.php/Generating_objects_from_extensions
  • http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial

  • 你可以使用lxml吗?

    t = etree.parse("path/test.xml")
    

    你也可以

  • 直接操作t的属性 - 这可以通过python完成,而不需要实际打开inkscape。 你的树可以用t.write("filename")保存
  • 添加t使用到当前打开的文档self.document.getroot().append(t)
  • 另外,这不是你所要求的,但可能会有用:一个inkscape插件,它允许你在Inkscape中编写简短的python片段:http://www.smanohar.com/inkscape.php

    链接地址: http://www.djcxy.com/p/56945.html

    上一篇: Loading and modifying svg within Inkscape plugin

    下一篇: Inkscape highlight different parts of a svg and manipulate the svg map in html