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>
I want to save file on the server with JavaScript, but currently I can save this file only on the user's computer.
var pdf = new jsPDF('p','pt','a4'); pdf. addHTML(document. body,function() { var string = pdf.
Generate PDF using JavaScript Specify the content in text() method of jsPDF object. Use the addPage() method to add new page to PDF. Use the save() method to generate and download PDF file.
What is jsPDF? jsPDF is an open-source library for generating PDF documents using JavaScript. It provides multiple options to generate PDF files, with custom properties. It has numerous plugins to support various ways of PDF generation.
Instead of doc.save
function you have to use doc.output
function with type 'blob'
as a parameter.
In Javascript part:
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)}
});
}
);
});
Here is the code for upload.php
:
<?php
move_uploaded_file(
$_FILES['pdf']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'] . "/uploads/test.pdf"
);
?>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With