使用Javascript库(jsPDF)与Ruby-on-Rails视图

Using Javascript library(jsPDF) with Ruby-on-Rails views

本文关键字:Ruby-on-Rails 视图 jsPDF Javascript 使用      更新时间:2023-09-26

我对ROR, JS和web技术都是新手。我试图建立一个简单的ROR应用程序,我想在客户端生成PDF文件。我发现这个javascript库适合我的目的。我使用bower安装了这个依赖项。现在我不确定我如何在我的views中使用这个库?我试着在网上搜索,但找不到任何结论。

我使用的是Rails版本4

您必须使用javascript_include_tag将其包含在视图中。参考链接

从GIT仓库下载zip文件。提取并将jspdf.js文件放入vendor/assets/javascripts中。然后使用上面的方法将其包含在特定的视图中,或者在application.js中要求它,如:

//= require jspdf

从GIT仓库下载。解压zip文件有一个文件夹examples

直接查看basic.html

代码

你需要添加这个(jspdf.debug.js) (dist/jspdf.debug.js)文件到你的app/assets/javascripts

application.js中需要这个文件

然后在视图中尝试这样做........

<a href="#" class="button">Run Code</a>
<script>
$(function() {
  $('.button').on('click',function(){   
    var name = prompt('What is your name?');
    var multiplier = prompt('Enter a number:');
    multiplier = parseInt(multiplier);
    var doc = new jsPDF();
    doc.setFontSize(22);    
    doc.text(20, 20, 'Questions');
    doc.setFontSize(16);
    doc.text(20, 30, 'This belongs to: ' + name);
    for(var i = 1; i <= 12; i ++) {
        doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ___');
    }
    doc.addPage();
    doc.setFontSize(22);
    doc.text(20, 20, 'Answers');
    doc.setFontSize(16);
    for (i = 1; i <= 12; i ++) {
        doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ' + (i * multiplier));
    }
    doc.save('Test.pdf');
});
});

</script>