我尝试使用jsPDF并且我创建了一个简单的示例,如下所示。但是,正在发生错误,我不明白其中的原因,因为一切似乎都是正确的:Uncaught SyntaxError: Unexpected token <
。所有必需的文件都在同一目录中。
Html_to_pdf.html
<!DOCTYPE>
<html>
<head>
<title>PDF to HTML test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="jspdf.min.js" ></script>
<script type="text/javascript" src="html2canvas.js" ></script>
<script type="text/javascript">
function genPDF() {
html2canvas(document.body, {
onrendered: function(canvas) {
var img = canvas.toDataURL("image/png");
var doc = new jsPDF();
doc.addImage(img, 'JPEG', 20, 20);
doc.save('test.pdf');
}
});
}
</script>
</head>
<body>
<h1>jsPDF Test</h1>
<a href="javascript:genPDF()">Download PDF</a>
<div id="testDiv">
<h1>Example Header</h1>
<input type="text"/>
<input type="submit" value="button" />
<br><br>
<img src="flores.jpg" width="600" height="450" />
</div>
</body>
</html>
答案 0 :(得分:0)
<强>解决:强>
即使在使用--save
重新安装jsPDF或使用-g
全局重新安装,问题仍然存在。要解决此问题,我必须将jspdf.min.js
和html2canvas.js
个文件复制到我的应用的public/
目录中。
我的javascript for PDF看起来像这样:
<script type="text/javascript">
var dtTime = "03/08/2017";
function genPDF() {
//html2canvas(document.body, {
html2canvas(document.getElementById("toPdf"), {
onrendered: function(canvas) {
var imgLogo = 'data:image/jpeg;base64..................';
var doc = new jsPDF();
doc.addImage(imgLogo, 'JPEG', 15, 10);
doc.setTextColor(187, 2, 2);
doc.text('TEXT TEXT TEXT TEXT ', 20, 40);
doc.setTextColor(17, 20, 150);
doc.text('TEXT TEXT TEXT TEXT', 20, 47);
doc.setLineWidth(0.1);
doc.line(20, 285, 190, 285);
var dt = new Date();
doc.setFontSize(8);
doc.setTextColor(0, 0, 0);
doc.text('TEXT ', 22, 289);
doc.text(125, 289, 'DATE: ' + dtTime, null, null, 'right');
doc.setDisplayMode('100%');
doc.addImage(img, 'JPEG', 20, 55);
//doc.addImage(img, 'JPEG', 40, 10, 218, 190);
doc.save('report-test.pdf');
}
});
}
</script>