gpt4 book ai didi

javascript - 如何将多个html表格和多个d3生成的图表导出到一个pdf中

转载 作者:行者123 更新时间:2023-11-28 03:07:47 25 4
gpt4 key购买 nike

基本上我有多个在 html 中生成的表(数据也可能因数据库中的数据量而异,所以我希望 pdf 上的表也可以扩展,这意味着没有固定大小。)此外,我在同一页面上也有一个 d3 生成的图形。

我想知道的是..有没有办法把页面上显示的所有内容都变成pdf一样的截图?我知道有 phantomJS 但它需要你在本地环境中安装和部署,而我们的项目不允许它.. 那么是否有任何第 3 方库可以导入并用于将它们导出到单个 PDF 中?

请帮忙

最佳答案

Using SaveSvg.js

https://gist.github.com/enjoylife/0ae74717a29862c5d8c5

and using jspdf was able to make it work

d3.select("#save").on("click", function(){
var html = d3.select("svg")
.attr("version", 1.1)
.attr("xmlns", "http://www.w3.org/2000/svg")
.node().parentNode.innerHTML;

//console.log(html);
var imgsrc = 'data:image/svg+xml;base64,'+ btoa(html);
var img = '<img src="'+imgsrc+'">';
d3.select("#svgdataurl").html(img);

var canvas = document.querySelector("canvas"),
context = canvas.getContext("2d");

var image = new Image;
image.src = imgsrc;
image.onload = function() {
context.drawImage(image, 0, 0);

//save and serve it as an actual filename
binaryblob();

var a = document.createElement("a");
a.download = "sample.png";
a.href = canvas.toDataURL("image/png");

/* Added as png to jspdf */

var doc = new jsPDF();
doc.addImage( a.href, "png", 0,0);
doc.save("test.pdf");

var pngimg = '<img src="'+a.href+'">';
d3.select("#pngdataurl").html(pngimg);

a.click();
};

});

jspdf对齐和css很好

http://plnkr.co/edit/nNSvHL8MZcT6nNKg9CG9?p=preview

关于javascript - 如何将多个html表格和多个d3生成的图表导出到一个pdf中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31817360/

25 4 0
文章推荐: python - 如何在