如何导出多个html表格和多个d3生成的图形成一个单一的pdf
How to export multiple html tables and multiple d3 generated graphs into a single pdf
基本上我在html中生成了多个表(数据也可能根据数据库中的数据量而变化,所以我希望pdf上的表也是可伸缩的,这意味着没有固定的大小。)此外,我在同一页面上也有一个d3生成的图形。
我想知道的是……有没有办法把页面上显示的一切都变成pdf,就像屏幕截图一样?我知道有phantomJS,但它需要你在本地环境中安装和部署,我们的项目不允许它。有没有第三方的库,我可以导入和使用导出到一个单一的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 =预览
相关文章:
- 将php页面的一个部分渲染为HTML和CSS后生成PDF,并考虑PDF分页符
- 为什么可以't我在我的网站上嵌入了一个来自本地机器的PDF
- 创建一个工具来打开android平板电脑上的本地pdf文件
- 提交了一个PDF格式的PHP脚本只适用于Adobe阅读器XI
- 如何发布到URL并打开一个新窗口以显示pdf格式的响应
- 使用pdf.js查看器打开一个外部文件
- 上传PDF's使用Dropzone.js&拉拉维尔.有些上传成功,另一些则返回一个空对象
- 使用pdf.js突出显示pdf中的一个部分
- 单击另一个用于显示/隐藏图层的按钮时,在Adobe PDF中隐藏/显示按钮的代码是什么
- 使用 TideSDK 保存一个 pdf 文件
- 我可以使用 iText 在 pdf 中创建一个不需要的字段吗?
- 打开一个新窗口,其中包含从 XMLHttpRequest 返回的 blob 对象中的 PDF 数据
- javascript或jquery将pdf文件从一个文件夹移动到另一个文件夹
- Chrome扩展:一旦PDF Viewer(PDF.js)处理了一个PDF,就会显示一个弹出窗口
- 如何查找涉及PDF's,然后在链接的前面附加一个绝对路径
- 当结果集为null时,JasperRunManager.runReportToPdfStream返回一个空白pdf
- 我需要一个显示pdf的解决方案
- 下载一个包含filesaver.js和blob的pdf文件
- Emdebbed Adobe-如何使用外部按钮转到另一个PDF页面
- HttpRequestHandler:发送一个pdf文件作为响应