我正在尝试使用 Python 从 SVG 图像生成 PDF 图像。我已经尝试过CairoSVG和svglib。问题是在这两种情况下生成的 PDF 都没有应用任何嵌入的 CSS 样式。
这是一个简单的 SVG 文件,它应该呈现一个带有黑色边框的蓝色矩形:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="200" height="200" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style type="text/css"><![CDATA[
rect {
fill: #1f77b4;
stroke: black;
stroke-width: 1;
shape-rendering: crispEdges;
}
]]></style>
</defs>
<rect x="50" y="50" width="100" height="100"></rect>
</svg>
使用 CairoSVG 呈现此 SVG 的 PDF 时,PDF 图像呈现为黑色矩形。使用 svglib,矩形没有应用任何描边或样式,因此它是不可见的。有没有人知道将带有 CSS 样式的 SVG 转换为Python 中的 PDF 图像的方法?