来自包含 Javascript 的 html 的动态 PDF

发布于 2024-11-10 02:08:36 字数 255 浏览 2 评论 0原文

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

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

theDoc.htmlOptions.UseScript = True

应该有效,但事实并非如此。我将不胜感激任何想法。

谢谢,

戴夫

I'm currently working on generating a PDF from a simple html page that contains a few charts that are generated in Javascript using Highcharts.

We currently have ABCPdf installed which generates the PDF, however it doesn't capture any of the charts. After some Googling, I found that adding:

theDoc.htmlOptions.UseScript = True

Should work, but it doesnt. I'd appreciate any ideas.

Thanks,

Dave

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

家住魔仙堡 2024-11-17 02:08:36

我们目前正在生产中使用 javascript 的网页执行此操作,这些网页以 pdf 格式呈现以创建报告(使用 HighCharts 图表)

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

We're currently doing this in production for web pages with javascript that are rendered in pdf to create reports (with HighCharts Graphs)

We're using wkhtmltopdf with great success.

白芷 2024-11-17 02:08:36

一些想法:

  1. 由于ABCPDF使用IE引擎:您的服务器IE版本支持Highcharts吗?如果没有就升级。
  2. 您可能想检查 Highcharts 是否必须选择生成图像。

Some ideas:

  1. Since ABCPDF uses the IE engine: Does your server IE version supports Highcharts? Upgrade if not.
  2. You may want to check if Highcharts have to option the generate an image.
眼角的笑意。 2024-11-17 02:08:36

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

当我尝试使用 WebSupergoo 的 online demo for ABCpdf(使用 IE)渲染他们的主页时,这些也无法渲染。

根据 文档...

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

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

myDoc.HtmlOptions.Engine = EngineType.Gecko;

每个渲染引擎还具有一组不同的 HtmlOptions。您可以在此处找到有关 GeckoSubset 的更多信息。 .

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

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

The example charts found on Highchart's website appear to use SVG.

When I attempted to render their home page with WebSupergoo's online demo for ABCpdf, which uses IE, these also failed to render.

ABCpdf supports only a subset of SVG based around the SVG Tiny specification, according to the documentation...

However, the latest version of ABCpdf introduced support for converting web pages with Gecko's rendering engine. As this engine supports the majority of the SVG Full profile, I would suggest giving it a try. You can find out which bits are not currently implemented here on Mozilla's site...

To switch to the Gecko engine you'll need to add something like the following line of code:

myDoc.HtmlOptions.Engine = EngineType.Gecko;

Each rendering engine also has a different set of HtmlOptions. You can find out more about the GeckoSubset here...

If this doesn't work, you may need to look at what other formats HighChart can export. Do they support the HTML5 canvas element?

Another thought: Is it possible your charts are fading in and ABCpdf is only capturing the first frame?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文