admin管理员组

文章数量:1188864

var doc = new jsPDF();
$('#generatereport').click(function() {
   doc.fromHTML($('#lppresults')[0], 15, 15, {
	  width: 170
   }, function() {
	  doc.save('sample-file.pdf');
   });
});
 
<script src=".1.1/jquery.min.js"></script>
        
<script type="text/javascript" src=".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>
        
          

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.

Share Improve this question edited Aug 11, 2018 at 13:38 Bharata 14.2k6 gold badges43 silver badges53 bronze badges asked Aug 10, 2018 at 12:04 Dilip ShekhawatDilip Shekhawat 1541 gold badge1 silver badge11 bronze badges 6
  • Which server, is it node, IIS? – Prashant Pimpale Commented Aug 10, 2018 at 12:28
  • IIS I Thing But Code Run In Php – Dilip Shekhawat Commented Aug 10, 2018 at 12:37
  • So do you want to store it on IIS Server? – Prashant Pimpale Commented Aug 10, 2018 at 12:38
  • I am using php so server is linux – Dilip Shekhawat Commented Aug 10, 2018 at 12:41
  • Then you need to create one API which will accept the PDF file and saved on your WebServer – Prashant Pimpale Commented Aug 10, 2018 at 13:06
 |  Show 1 more comment

1 Answer 1

Reset to default 25

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"
);
?>

本文标签: phpHow to save PDF file from jsPDF on a server in JavascriptStack Overflow