Python Svgwrite和字体样式/大小
我正在尝试将SVG文件连接到网络抓取器.
I'm trying to make a SVG file connected to a web scraper.
如何使用svgwrite更改字体和文本大小?我知道我必须定义CSS样式,并以某种方式将其连接到文本对象.但这是怎么做的?
How do I change font and text size with svgwrite? I understand that I have to define a CSS style and somehow connect that to the text object. But how is this made?
这是我到目前为止的代码
Here's the code I have so far
import svgwrite
svg_document = svgwrite.Drawing(filename = "test-svgwrite3.svg",
size = ("1200px", "800px"))
#This is the line I'm stuck at
#svg_document.add(svg_document.style('style="font-family: Arial; font-size : 34;'))
svg_document.add(svg_document.rect(insert = (900, 800),
size = ("200px", "100px"),
stroke_width = "1",
stroke = "black",
fill = "rgb(255,255,0)"))
svg_document.add(svg_document.text("Reported Crimes in Sweden",
insert = (410, 50),
fill = "rgb(255,255,0)",
#This is the connection to the first line that I'm stuck at
#style = 'style="font-family: Arial; font-size : 104;'))
print(svg_document.tostring())
svg_document.save()
SvgWrite的制造商Manfred Moitzi给我发送了一个更为详尽的答案;
Manfred Moitzi the maker of SvgWrite mailed me an more eleborated answer;
这必须由CSS完成,使用'class_'或'style'关键字args设置文本属性:
This has to be done by CSS, use the 'class_' or 'style' keyword args to set text properties:
dwg = svgwrite.Drawing()
带有'style'关键字arg:
with 'style' keyword arg:
g = dwg.g(style="font-size:30;font-family:Comic Sans MS, Arial;font-weight:bold;font-
style:oblique;stroke:black;stroke-width:1;fill:none")
g.add(dwg.text("your text", insert=(10,30))) # settings are valid for all text added to 'g'
dwg.add(g)
带有"class_"关键字arg:
with 'class_' keyword arg:
创建一个包含以下内容的CSS文件:
Create a CSS file with content:
.myclass {
font-size:30;
font-family:Comic Sans MS, Arial;
font-weight:bold;
font-style:oblique;
stroke:black;
stroke-width:1;
fill:none;
}
请参阅CSS参考: http://www.w3schools.com/cssref/default.asp
dwg.add_stylesheet(filename, title="sometext") # same rules as for html files
g = dwg.g(class_="myclass")
g.add(dwg.text("your text", insert=(10,30))) # settings are valid for all text added to 'g'
dwg.add(g)
使用'class_'和'style'关键字args可以为每个图形对象设置样式,并且可以在容器对象上使用它们.
With 'class_' and 'style' keyword args you can style every graphic object and they can be used at container objects.