var doc = new jsPDF();
$('#generatereport').click(function() {
doc.fromHTML($('#lppresults')[0], 15, 15, {
width: 170
}, function() {
doc.save('sample-file.pdf');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.4/jspdf.min.js"></script>
<div class="survey-results" id="lppresults">
<button id="generatereport">Download Report</button>
<h1 style="border: solid;">TEST CONTENT</h1><br />
<h1 style="border: solid;">TEST CONTENT1</h1>
</div>
我想使用JavaScript将文件保存在服务器上,但是目前我只能将此文件保存在用户的计算机上。
答案 0 :(得分:3)
您必须使用类型为doc.save
作为参数的doc.output
函数来代替'blob'
函数。
在Javascript部分:
var doc = new jsPDF();
$('#generatereport').click(function()
{
doc.fromHTML(
$('#lppresults'), 15, 15,
{width: 170},
function()
{
var blob = doc.output('blob');
var formData = new FormData();
formData.append('pdf', blob);
$.ajax('/upload.php',
{
method: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data){console.log(data)},
error: function(data){console.log(data)}
});
}
);
});
这是upload.php
的代码:
<?php
move_uploaded_file(
$_FILES['pdf']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'] . "/uploads/test.pdf"
);
?>