在离线TideSDK web应用程序中导出SVG为PDF



我有一个离线HTML5/CSS/JS应用程序构建与TideSDK,其中一个条形图绘制与Highcharts作为SVG"标签"使用用户输入的数据。我需要导出这个图表的PDF文件,其中还将包含文本和表格。

因为它是一个离线应用程序,我不能使用Highcharts中包含的导出模块(除了getSVG()方法)或其他解决方案,如docaptor。

我愿意使用另一个JS插件来绘制图表,但我真的很喜欢Highcharts图表的"外观和感觉"和功能。

你可能知道,与TideSDK我可以嵌入Python, PHP或Perl脚本/模块在我的应用程序(我更喜欢避免Perl,因为我从来没有使用过它)。

另一个限制是我不能要求最终用户安装其他软件,所以我不能将wkhtmltopdf与PHP一起使用。除非我设法通过我的应用程序在一个透明的过程中安装它(不确定这是否特别容易做到)。

经过几天的搜索,我的最终想法是使用CairoSVG Python模块导出第一个PDF格式的图形。然后我会找到一个JS (jsPDF)或Python工具,将此PDF包含在包含文本和表格的最终PDF中。

我将很快开始测试这个解决方案,如果我成功了,我会让你知道。然而,如果你们中的一些人已经遇到过类似的问题,我将很高兴听到你们的解决方案。

应用程序将首次在Windows平台上运行,并将在后期阶段适应MacOS, Linux, Android和iOS。

有一个简单的命令行工具(wkhtml到pdf),可以让您将html页面转换为pdf文件。它不是严格的python/js解决方案,但你可以从python调用os.system()或类似的东西来使用它。它帮助我编写python程序,而且使用起来非常简单。命令是"wkhtmltopdf.exe inputname outputname",你得到你想要的。而且它是免费软件。网站:https://code.google.com/p/wkhtmltopdf/

最新更新