d3.js - Wicked_PDF 无法呈现 SVG、 Canvas 或 PNG 图形

标签 d3.js wicked-pdf

我正在尝试使用 D3 和 wicked_pdf 呈现一些图表。当我启用 show_as_html 标志时,图表显示正常。但是当我渲染 PDF 本身时,只显示轴。图表区域本身是空白的。我知道 JavaScript 会执行,因为轴是在图表内容之后呈现的。
Actual chart
Rendered chart
我尝试使用 canvg 将 SVG 转换为 Canvas 对象。

canvg($(this).find('#canvas')[0], $('<div>').append($(picture).clone()).html(), { ignoreMouse: true, ignoreAnimation: true })

没变。然后,我使用以下方法将 SVG 转换为 PNG 图像:
$(this).find('#chart').append("<img id='as' src='" + $(this).find('#canvas')[0].toDataURL() + "'>").show()

还是没有变化。但是,当我使用 wicked_pdf_image_tag 将类似的 png 图像作为静态图像插入文档时,渲染出正确的图像。
如何让 wicked_pdf 正确渲染图像?只要图表正确呈现,我就不关心格式。

最佳答案

不幸的是,@TheMcMurder 的回答无济于事,因为 wicked_pdf 使用 wkhtmltopdf。此外,这实际上是 wkhtmltopdf 而不是 wicked_pdf 的问题。我一直在研究 Chart.js(使用元素)的相同问题。
这是 whhtmltopdf Google Group 上有关该问题的两个线程的链接

  • Asking for canvas support

  • 这是讨论 Github 上可能存在相同问题的线程
  • Charts not working with wkhtmltopdf

  • 一些基本的搜索指向 phantom.js 作为可能的替代方案,但我还没有尝试过。

    无法发布链接,因为我的代表太低,但谷歌已经覆盖

    祝你好运,如果你取得任何进展,请告诉我们。

    关于d3.js - Wicked_PDF 无法呈现 SVG、 Canvas 或 PNG 图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310055/

    相关文章:

    html - 在不返回服务器的情况下呈现 PDF (wicked_pdf)

    javascript - D3js : Dragging a group by using one of it's children

    javascript - geoJson 属性添加/更新

    ruby-on-rails - 邪恶中的混合取向.pdf

    ruby-on-rails - wicked_pdf 图像渲染

    ruby-on-rails - 邪恶_pdf : UTF-8 encoding issue on production

    css - 当 pdf 方向为横向时,即使宽度为 100%,pdf 宽度也未被完全占用

    reactjs - 无法将 d3-tip 或 d3-hexbin 导入 React 组件

    javascript - 在 d3.js 中设置轴的 css

    javascript - 发光的球体 - d3 正交投影无法让 css 工作