从包含Javascript的HTML生成动态PDF

5

我目前正在努力将一个包含几个通过使用Highcharts生成JavaScript的图表的简单HTML页面转换为PDF。

我们目前已经安装了ABCPdf来生成PDF,但它无法捕获图表。在进行了一些谷歌搜索后,我发现可以添加以下代码:

theDoc.htmlOptions.UseScript = True

应该能够工作,但实际上并没有。希望能得到任何想法。

谢谢,

Dave


你解决了那个问题吗?我在图表和 ABCPDF 中也遇到了同样的问题。 - SivaRajini
1
不,我们从未这样做过。最终,我们采用了不同的技术来实现我们想要的目标。 - Dave
3个回答

2

我们目前正在生产环境中使用这种方法,将带有JavaScript的网页渲染成PDF文件,用于生成报告(包含HighCharts图形)。

我们非常成功地使用了wkhtmltopdf


0

Highchart's website上的示例图表似乎使用SVG。

当我尝试使用WebSupergoo的在线演示(使用IE)渲染它们的主页时,这些图表也无法呈现。

根据文档...,ABCpdf仅支持基于SVG Tiny规范的子集。

然而,最新版本的ABCpdf引入了使用Gecko渲染引擎转换网页的支持。由于该引擎支持大多数SVG Full配置文件,因此建议您尝试一下。您可以在Mozilla的网站...上找到当前未实现的部分。

要切换到Gecko引擎,您需要添加以下代码行:

myDoc.HtmlOptions.Engine = EngineType.Gecko;

每个渲染引擎都有不同的HtmlOptions设置。您可以在这里了解更多关于GeckoSubset的信息。
如果这不起作用,您可能需要查看HighChart支持哪些其他格式进行导出。它们是否支持HTML5画布元素?
另一个想法:您的图表是否正在淡入,而ABCpdf只捕获第一帧?

0
一些想法:
  1. 由于 ABCPDF 使用 IE 引擎:请检查您的服务器 IE 版本是否支持 Highcharts?如果不支持,请升级。
  2. 您可能需要检查 Highcharts 是否有生成图像的选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接