在这个广阔的空间中,有没有人有幸成功地在 HTML 上创建了带有嵌入式 SVG 的 PDF?我一直在收到分段错误。
或者也许有任何其他方法可以将 SVG 嵌入到 HTML 文件中,然后将其导出为 PDF 而不是wkhtmltopdf
?
在这个广阔的空间中,有没有人有幸成功地在 HTML 上创建了带有嵌入式 SVG 的 PDF?我一直在收到分段错误。
或者也许有任何其他方法可以将 SVG 嵌入到 HTML 文件中,然后将其导出为 PDF 而不是wkhtmltopdf
?
我有类似的问题。似乎嵌入在 SVG 图像中的 javascript 会导致分段错误。
我正在使用pygal Python 模块生成 SVG 图。为了成功地从带有 SVG 图形的 HTML 生成 PDF,我必须做几件事:
在 svg 标签中指定图像大小,例如
<svg ... width="300" height="200">
(在 pygal 的情况下使用explicit_size关键字)
将 SVG 图像以 base64 编码形式嵌入到img标签中,例如
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0...">
我使用的是第 11 版的 wkhtmltopdf。
如果此修复对其他人不起作用,这就是在 Ubuntu 64 下使用 chartist.js 和 wkhtmltopdf 0.12.2.1 对我有用的方法。(感谢 Panokev)
在所有其他 JS 之前将此添加到您的 javascript 中。
{
Function.prototype.bind = Function.prototype.bind || function (thisp) {
var fn = this;
return function () {
return fn.apply(thisp, arguments);
};
};
明确设置图表 div 的宽度样式,例如 - style="width:950px;"
对..我终于成功了...所需要的只是对原始 eps 文件进行一些处理。我用illustrator打开文件并选择“展平透明度”..也许它的作用是展平文件的多层或其他东西..然后另存为svg ..它在PDF中呈现得很好..
如果有人遇到和我一样的问题,希望这会有所帮助。谢谢!:D
我们通过向 svg 除了 viewbox 属性添加宽度和高度属性来解决此问题。