使用服务器端呈现将Web应用程序导出为pdf

时间:2017-08-08 04:54:35

标签: javascript node.js pdf d3.js vue.js

我们的网络应用程序(许多d3图表)是由vue设置的,我可以导出我们的

通过canvg,html2canvas(将网页内容转换为

的组合

网页到pdf

png)并将png文件发送到服务器并使用nodejs自动下载

并定期(每周报告)。

但是,我被要求使用从客户端到

的不同渲染方法

服务器端渲染并使用wkhtmltopdf或phantomjs下载pdf。

我的问题是难以渲染许多复杂的d3图表和编辑

使用vue或其他技术进行服务器端渲染?

谢谢!

2 个答案:

答案 0 :(得分:1)

wkhtmltopdf是一个流行的库,用于将复杂的html内容转换为pdf。

您不必担心复杂的d3图表或CSS。它会处理它。但您必须在系统上安装wkhtmltopdf command line tool

答案 1 :(得分:0)

可以使用服务器端呈现选项将SVG DOM元素转换为不同的图像格式。 Apache Batik这样的库将SVG DOM元素转换为pdf,png,jpg,word。

  

Batik是一个基于Java的工具包,适用于希望以可缩放矢量图形(SVG)格式使用图像用于各种目的的应用程序或小程序,例如显示,生成或操作。   该项目的目标是为开发人员提供一组核心模块,这些模块可以一起使用或单独使用,以支持特定的SVG解决方案。模块的示例是SVG分析器,SVG生成器和SVG DOM。 Batik项目的另一个目标是使其具有高度可扩展性 - 例如,Batik允许开发人员处理自定义SVG元素。尽管该项目的目标是提供一组核心模块,但其中一个可交付成果是一个完整的SVG浏览器实现,它验证了各种模块及其互操作性。