jsPDF方法保存文件不起作用

我已经花了四天的时间试图解决一个问题,一开始,这个问题似乎是一个孩子的游戏:使用jsPDF库我试图保存一个文件。 不打印,这已经完成了。

所以这里是我的HTML:

<!DOCTYPE html> <html manifest="offline.appcache"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>New project</title> <!-- Allow fullscreen mode on iOS devices. (These are Apple specific meta tags.) --> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <link rel="apple-touch-icon" sizes="256x256" href="icon-256.png" /> <meta name="HandheldFriendly" content="true" /> <!-- Chrome for Android web app tags --> <meta name="mobile-web-app-capable" content="yes" /> <link rel="shortcut icon" sizes="256x256" href="icon-256.png" /> <script src="script/jquery-2.1.0.min.js"></script> <script type="text/javascript" src="script/jspdf.js"></script> <script type="text/javascript" src="script/libs/base64.js"></script> <script type="text/javascript" src="script/libs/sprintf.js"></script> <script type="text/javascript" src="script/jspdf.js"></script> <script type="text/javascript" src="script/jspdf.plugin.standard_fonts_metrics.js"></script> <script type="text/javascript" src="script/jspdf.plugin.split_text_to_size.js"></script> <script type="text/javascript" src="script/jspdf.plugin.from_html.js"></script> <script type="text/javascript" src="script/FileSaver.js"></script> <!-- The CSS --> <style type="text/css"> p { font-size: 18px; } #container{ width: 800px; height: 500px; background-color: red; } </style> <!-- The javascript --> <script> function print() { var doc = new jsPDF(); doc.text(20, 20, 'Hello world.'); doc.output('datauri'); } function save() { var doc = new jsPDF(); doc.text(20, 20, 'Hello world.'); doc.save('nombre_example.pdf'); } </script> </head> <body> <input type="button" value="Print" height="50px" width="50px" Onclick="print()"> <input type="button" value="Save" height="50px" width="50px" Onclick="save()"> <div id="container"> <p> HOLA <br> HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br>HOLA <br> </p> </div> </body> </html> 

然后,当我点击“保存”button时,我可以在javacript控制台上阅读:

Uncaught TypeError: Object #<Object> has no method 'save' index.html:58

我已经附加到项目的JavaScript文件的列表是:

  1. FileSaver.js
  2. jQuery的2.1.0.min.js
  3. jspdf.js
  4. jspdf.plugin.addimage.js
  5. jspdf.plugin.autoprint.js
  6. jspdf.plugin.cell.js
  7. jspdf.plugin.from_html.js
  8. jspdf.plugin.javascript.js
  9. jspdf.plugin.png_support.js
  10. jspdf.plugin.sillysvgrenderer.js
  11. jspdf.plugin.split_text_to_size.js
  12. jspdf.plugin.standard_fonts_metrics.js
  13. jspdf.plugin.total_pages.js

和图书馆:

  1. base64.js
  2. sprintf.js

所以,显示所有这些信息后,我的问题是:为什么我不能让保存button正常工作?

有任何想法吗?

尝试添加只有这两个脚本文件,看看

 <script type="text/javascript" src="script/jspdf.js"></script> <script type="text/javascript" src="script/FileSaver.js"></script> 

另外为什么你添加jspdf.js文件两次…