Javascript 下载D3绘图(pdf格式)

Javascript 下载D3绘图(pdf格式),javascript,pdf,svg,d3.js,Javascript,Pdf,Svg,D3.js,我的代码如下所示(取自),用于创建条形图: <!DOCTYPE html> <meta charset="utf-8"> <style> .chart div { font: 10px sans-serif; background-color: steelblue; text-align: right; padding: 3px; margin: 1px; color: white; } </style> <div

我的代码如下所示(取自),用于创建条形图:

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.chart div {
  font: 10px sans-serif;
  background-color: steelblue;
  text-align: right;
  padding: 3px;
  margin: 1px;
  color: white;
}

</style>
<div class="chart"></div>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var data = [4, 8, 15, 16, 23, 42];

var x = d3.scale.linear()
    .domain([0, d3.max(data)])
    .range([0, 420]);

d3.select(".chart")
  .selectAll("div")
    .data(data)
  .enter().append("div")
    .style("width", function(d) { return x(d) + "px"; })
    .text(function(d) { return d; });

</script>

.海图组{
字体:10px无衬线;
背景颜色:钢蓝色;
文本对齐:右对齐;
填充:3倍;
保证金:1px;
颜色:白色;
}
var数据=[4,8,15,16,23,42];
var x=d3.scale.linear()
.domain([0,d3.max(数据)])
.范围([0420]);
d3.选择(“图表”)
.selectAll(“div”)
.数据(数据)
.enter().append(“div”)
.style(“宽度”,函数(d){返回x(d)+“px”;})
.text(函数(d){return d;});

我想在我的绘图下面添加一个pdf下载按钮/链接,它提供绘图的pdf格式。例如,我看到过一些帖子,比如,甚至,但它们似乎没有提供一个简单而快速的解决方案来解决这个问题。你知道一个简单的方法吗?如何将绘图转换为pdf格式并提供指向该格式的链接?

我没有足够的rep标记为副本,但这里提出了一个非常类似的问题:

我认为最接近您的用例的方法是将SVG元素的内容导出为文件。如果你沿着这条路走下去,请确保你在d3代码中应用了html块中的所有内容。例如

d3.select(".chart").style("font", "10px sans-serif");
否则它就会丢失

如果相关的话,我从d3中获取PDF的解决方案是使用phantomjs为SVG运行元素提取脚本,将其保存为SVG文件,然后使用Python(Cairo库)将其转换为PNG和PDF。这里有一些细节(技术方面的东西)。但是对于一个简单的客户端开发来说,这显然不是很有帮助

以下web服务允许您以PNG格式下载页面截图。如果您生成了一个只包含图形的页面(即在服务器上),并使用只包含图形的链接放置了指向服务的链接,那么您至少可以下载为PNG