TextPath with svgwrite - ValueError: Invalid children 'textPath' for svg-element <svg>

TextPath with svgwrite - ValueError: Invalid children 'textPath' for svg-element <svg>

我在将 TextPath 元素与 svgwrite 库一起使用时遇到问题。我遵循了文档 https://pythonhosted.org/svgwrite/classes/text.html#textpath

我有路径:

w = dwg.path(d="M150 150 L2000 2000 L150 2000 Z", stroke="green")

我用作文本路径的路径:

dwg.add(svgwrite.text.TextPath(path=w, text="blab blab bla bal", startOffset=None, method='align', spacing='exact'))

当我尝试这样做时,出现错误:

ValueError: Invalid children 'textPath' for svg-element <svg>

如果我只创建 TextPath 元素而不将其添加到 dwg,则不会引发任何错误。

我错过了什么?感谢您的任何建议。

textPath 元素的父元素必须是文本元素。在您的情况下,您将 textPath 添加为无效的根 svg 元素的子元素。

text = dwg.add(svgwrite.text.Text(""))
text.add(svgwrite.text.TextPath(path=w, text="blab blab bla bal", startOffset=None, method='align', spacing='exact'))