【发布时间】:2017-09-06 02:16:06
【问题描述】:
这是我的 HTML 代码,我试图将 div abc 中输出的任何内容转换为可下载的 pdf 文件。
<!-- Page Heading -->
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">
Reports
</h1>
<ol class="breadcrumb">
<li>
<i class="fa fa-dashboard"></i> <a href="dashboard">Dashboard</a>
</li>
<li class="active">
<i class="fa fa-edit"></i> Reports
</li>
</ol>
<body>
<div id="abc">
</div>
<div id="editor"></div>
<button id="cmd">Download Survey Report</button>
<div id="abc">
</div>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.min.js"></script>
<script>
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
};
$('#cmd').click(function () {
doc.fromHTML($('#abc').html(), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
doc.save('SurveyReport.pdf');
});
</script>
<script>
firebase.auth().onAuthStateChanged(function(user){
if(user){
var userID = user.uid;
RetrieveSurvey(userID,1,PrintSurvey(document.getElementById("abc")));
}
})
</script>
</div>
</div>
我在控制台上收到此错误:
"Uncaught ReferenceError: jsPDF is not defined"
我不确定我在这里做错了什么,我什至在脚本标签中添加了jsPDF...
【问题讨论】:
-
把你的脚本放在
<body>标签里面再试一次。 -
为什么你有
<body></body>标签在一个<div>?ids 也应该是唯一的,你不能有2个id="abc"标签。
标签: javascript html jspdf