5

我目前正在从一个简单的 html 页面生成 PDF,该页面包含一些使用 Highcharts 在 Javascript 中生成的图表。

我们目前安装了生成 PDF 的 ABCPdf,但它不捕获任何图表。经过一番谷歌搜索,我发现添加:

theDoc.htmlOptions.UseScript = True

应该工作,但它没有。我会很感激任何想法。

谢谢,

戴夫

4

3 回答 3

2

我们目前正在为带有 javascript 的网页执行此操作,这些网页以 pdf 形式呈现以创建报告(使用 HighCharts Graphs)

我们使用wkhtmltopdf取得了巨大成功。

于 2011-05-27T11:56:42.293 回答
0

一些想法:

  1. 由于ABCPDF使用IE引擎:你的服务器IE版本是否支持Highcharts?不行就升级。
  2. 您可能想检查 Highcharts 是否必须选择生成图像。
于 2011-05-30T21:35:30.273 回答
0

Highchart 网站上的示例图表似乎使用了 SVG。

当我尝试使用 WebSupergoo 的使用 IE 的 ABCpdf在线演示来渲染他们的主页时,这些也无法渲染。

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

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

要切换到 Gecko 引擎,您需要添加类似于以下代码行的内容:

myDoc.HtmlOptions.Engine = EngineType.Gecko;

每个渲染引擎也有一组不同的 HtmlOptions。您可以在此处了解有关GeckoSubset 的更多信息...

如果这不起作用,您可能需要查看 HighChart 可以导出的其他格式。他们支持 HTML5 画布元素吗?

另一个想法:您的图表是否可能正在淡入,而 ABCpdf 仅捕获第一帧?

于 2011-05-31T10:03:45.883 回答