HTML 页面到 PDF(角度 js 和 d3 图表)
Posted
技术标签:
【中文标题】HTML 页面到 PDF(角度 js 和 d3 图表)【英文标题】:HTML page to PDF (angular js and d3 charts) 【发布时间】:2015-07-25 18:43:21 【问题描述】:我有可能包含多个表格和 d3 图表的 html 页面,我想将整个页面导出为 pdf,有没有办法使用 angularjs 或 javascript、jquery 来做到这一点。 感谢帮助。
【问题讨论】:
PhantomJS 有可能吗?它可以将您的页面呈现为 PDF。 @thriqon,客户端需要 PhantomJs 二进制文件,所以这不是方便的解决方案。 在这里玩游戏可能有点晚了,但@thriqon 的想法并不一定要求客户端拥有 PhantomJS - 它可以位于后端,连接到它的 web 服务接收请求将用户当前页面转换为 PDF(通过导航到然后返回 PDF 来实现)。这种复杂程度是否合理取决于一系列因素(例如内容的可缓存性、重新生成图表的时间等) 【参考方案1】:您可以在要导出的容器中使用Kendo,设置“id”,然后使用以下代码:
kendo.drawing.drawDOM($("#exportthis"),
paperSize: "letter",
margin: "0.5cm",
scale: 0.5
).then(function(group)
kendo.drawing.pdf.saveAs(group, "Converted PDF.pdf");
);
在您看来,您必须像本示例中那样设置 id:
<div id="exportthis" class="...">
... more HTML code here...
</div>
然后是一个按钮,我们可以在其中调用该函数,然后就可以使用了。
当我不想要 pdf 上的图像时,我会使用它,例如使用画布的 jspdf/pdfmake.js。
【讨论】:
【参考方案2】:试试这个http://www.fpdf.org/ 这是一个 php 类,可以将你的 html 转换为 pdf。
【讨论】:
【参考方案3】:尝试使用 jsPDF (http://mrrio.github.io/jsPDF/)。我认为它可以提供帮助。
【讨论】:
以上是关于HTML 页面到 PDF(角度 js 和 d3 图表)的主要内容,如果未能解决你的问题,请参考以下文章
D3.js 实现Sequences sunburst的源码详解
D3.js 实现Sequences sunburst的源码详解