5

我正在尝试使用 wicked_PDF 将 HTML 页面呈现为 PDF。该页面包含我使用 D3.js 创建的几个图表。在 PDF 上,只有图表的轴是可见的。图表的主体是空白的。我尝试将 SVG 转换为 Canvas 和 PNG 图像(使用 Base64 编码)。在这两种情况下,图像都显示为 HTML,但只有轴显示在 PDF 中。有什么建议么?

4

2 回答 2

2

似乎javascript在呈现PDF之前不起作用。

首先,确保在渲染 PDF 时启用它。根据链接,存在选项:disable_javascript => falserender :pdf

接下来,所有资产都必须包含在绝对 URL 中。根据同一个链接,

您必须定义 CSS 文件、图像和 javascript 的绝对路径;最好的选择是使用 wicked_pdf_stylesheet_link_tag、wicked_pdf_image_tag 和 wicked_pdf_javascript_include_tag 助手。

于 2013-08-11T18:53:23.347 回答
0

似乎图形没有完全呈现,但是 wickedpdf 正在捕捉中间的页面。因此,您可以使用一个选项等到 java 脚本完全运行并呈现图形。

:javascript_delay => 10000

现在 wicked pdf 将等待 10 秒。

注意:这仅适用于 wkhtmltopdf 的 0.12.1 版本。

于 2014-10-15T12:57:02.997 回答