我正在尝试使用jsPDF将博客文章的内容下载为PDF。我更喜欢通过JavaScript进行此操作,因为我将Heroku用作网络托管服务,这会使事情变得复杂。
这是我的无效代码:
<script>
$(function() {
$('.button').on('click',function(){
var doc = new jsPDF();
doc.setFontSize(12);
doc.text(20, 20, <%= @post.content %>);
doc.save(<%= @post.name %>);
});
});
</script>
您为text()提供了错误的方法。正如我链接的文档所说,它需要text(text, x, y, optionsopt, transform)
,请尝试先移动@post.content
。
作为旁注,我建议您尝试从html生成,而不要使用仅处理字符串的text()函数。
您需要在ERB标签上加上引号,以输出有效的JavaScript。例如:“<%= @post.content %>”
。如果内容本身带有引号,请尝试<%= @post.content.to_json %>
。