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 图表)的主要内容,如果未能解决你的问题,请参考以下文章

d3js树状图tree

jquery怎么实现关系图的绘制

D3.js 实现Sequences sunburst的源码详解

D3.js 实现Sequences sunburst的源码详解

html D3byEX 9.9:环形图(适应D3.js v4)

html D3byEX 6.4:气泡图(适应D3.js v4)