我有一些使用D3生成的图形,在Ruby on Rails 4应用程序的页面上呈现 .
我正在使用 wicked-pdf
gem将其转换为PDF以进行漂亮的打印 . 生成PDF正在运行,但并非所有SVG都已呈现 .
通过Javascript生成的SVG正确呈现,但HTML中的SVG不能 .
这是我创建的测试页面的JS小提琴:http://jsfiddle.net/Sidane/162cd58y/
使用D3生成顶部圆圈,并在使用wicked-pdf生成PDF时显示 . 已存在于HTML中的第二个圆圈不会出现在PDF中 . 第二个圆圈的标记与D3为第一个圆圈生成的相同 .
我不明白为什么JS生成的SVG会呈现,而不是一个普通的旧标记 . 最终它是完全相同的标记 .
我正在使用带有wicked-pdf的 wkhtmltopdf
v0.10.0 rc2 .
有人能帮忙吗?
如果您想测试将其传递到wkhtmltopdf,那么这是完整的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.js"></script>
</head>
<body>
<div id="target" style="width: 70px; height: 70px;"></div>
<div style="width: 70px; height: 70px;">
<svg width="200" height="200">
<circle cx="30" cy="30" r="20"></circle>
</svg>
</div>
<script type="text/javascript">
//Make an SVG Container
var svgContainer = d3.select("#target").append("svg")
.attr("width", 70)
.attr("height", 70);
//Draw the Circle
var circle = svgContainer.append("circle")
.attr("cx", 30)
.attr("cy", 30)
.attr("r", 20);
</script>
</body>
</html>