Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法在pysvg中添加换行符?_Python_Svg - Fatal编程技术网

Python 有没有办法在pysvg中添加换行符?

Python 有没有办法在pysvg中添加换行符?,python,svg,Python,Svg,考虑以下最低限度的工作示例: from pysvg.text import * from pysvg.builders import * doc = svg() doc.addElement(text("hello\nWorld", 150, 50)) doc.save('HelloWorld2.svg') 当以图形方式查看结果svg时,换行符已转换为单个空间,因为XML不尊重换行符 <?xml version="1.0" encoding="ISO-8859-1" standalon

考虑以下最低限度的工作示例:

from pysvg.text import *
from pysvg.builders import *

doc = svg()
doc.addElement(text("hello\nWorld", 150, 50))
doc.save('HelloWorld2.svg')
当以图形方式查看结果svg时,换行符已转换为单个空间,因为XML不尊重换行符

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink"  >
<text font-size="12" y="50" x="150"  >
hello
World</text>
</svg>

你好
世界
如何获取要在SVG中显示的换行?

提供了三个选项:

每个“text”元素都会导致呈现单个文本字符串。SVG 不执行自动换行或换行。实现 对于多行文字的效果,请使用以下方法之一:

  • 作者或创作包需要预先计算换行符并使用多个“文本”元素(每行文本一个)
  • 作者或创作包需要预先计算换行符,并将单个“text”元素与一个或多个“tspan”子元素一起使用 属性“x”、“y”、“dx”和“x”具有适当值的元素 “dy”为那些开始新字符设置新的开始位置 线。(此方法允许用户跨多行选择文本。) 文本的选择--请参见文本选择和剪贴板操作。)
  • 表示要在另一个XML名称空间中呈现的文本,例如内嵌在“foreignObject”元素中的XHTML。(注: 这种方法的确切语义目前还没有完全定义 这一次。)

这是一条新线。您的意思是想要一个文本
\n
?@sshashank124,澄清:如果您在firefox中加载svg,您将在XML中看到一个空格而不是换行符。我想在SVG的实际图像视图中看到一个换行符。