我有一个使用 TideSDK 构建的离线 HTML5/CSS/JS 应用程序,其中使用用户输入的数据使用 Highcharts 绘制条形图作为 SVG“标签”。我需要将此图表导出为 PDF 文档,其中还将包含文本和表格。
因为它是一个离线应用程序,所以我不能使用 Highcharts 中包含的导出模块(getSVG() 方法除外)或其他解决方案,如 DocRaptor。
我愿意使用另一个 JS 插件来绘制图表,但我真的很喜欢 Highcharts 图表的“外观和感觉”和功能。
如您所知,借助 TideSDK,我可以在我的应用程序中嵌入 Python、PHP 或 Perl 脚本/模块(我更喜欢避免使用 Perl,因为我从未使用过它)。
另一个限制是我不能要求最终用户安装除我之外的其他软件,所以我不能在 PHP 中使用 wkhtmltopdf
。除非我设法在一个透明的过程中通过我的应用程序安装它(不确定这是否特别容易)。
经过几天的搜索,我的最终想法是使用 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/
关于php - 在离线 TideSDK webapp 中将 SVG 导出为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14277928/