我正在尝试使用 D3 和 wicked_pdf 渲染一些图表。当我启用 show_as_html 标志时,图表显示良好。但是当我渲染 PDF 本身时,只显示轴。图表区域本身是空白的。我知道 JavaScript 会执行,因为轴是在图表内容之后呈现的。 我尝试使用 canvg 将 SVG 转换为画布对象。
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()
还是没有变化。但是,当我使用 将类似的 png 图像作为静态图像插入文档时wicked_pdf_image_tag
,会呈现正确的图像。如何让 wicked_pdf 正确渲染图像?只要图表正确呈现,我不关心格式。