【问题标题】:Impossible save PDF to server with jsPDF无法使用 jsPDF 将 PDF 保存到服务器
【发布时间】:2022-04-14 09:42:55
【问题描述】:

我是这里的新手,使用 javascript 和 php。

我无法将带有 jsPDF 的 PDF 保存到服务器上的本地存储(自动生成)。过去可以,但现在我只是将 Canvas (javascript) 放入我的 HTML 中,它不起作用。

欢迎任何帮助:)

它适用于 doc.save javascript,但不会自动保存到本地。

Javascript:

let doc = new jsPDF('p', 'pt', 'a4'); 
doc.addHTML(document.body, function () {
    //this works but not store in local automatically
    // doc.save('test.pdf');
    //store to local storage
    var pdf = btoa(doc.output()); 
    $.ajax({
        method: "POST",
        url: "pdftoserver.php",
        data: {data: pdf},
    }).done(function(data){
        console.log(data);
    });
});
}

PHP:

<?php

session_start();
$pdfpath=$_SESSION['pdfpath']; //heredated, only path and name for pdf (with date...)

if(!empty($_POST['data'])){
    $data = base64_decode($_POST['data']);
    // print_r($data);
    file_put_contents($pdfpath, $data );
} else {
    echo "PDF failed";
}
exit();
?>

我的 HTML 头脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
<script  src="canvas.js"></script> <!--for paint and sign on html-->

【问题讨论】:

  • 看起来您在此处发布的 js 末尾有一个额外的 }。是不是笔误?
  • 感谢您的回复。在第一行我有一个功能。这个 } 关闭它。

标签: javascript php ajax jspdf


【解决方案1】:

这对我有用,把它放在你的 doc.save() 或 pdf.save() 之后

 var blob = doc.output('blob'); 
var formData = new FormData(); 
formData.append('pdf', blob); 
$.ajax({ 
    url: 'upload.php', 
    method: 'POST', 
    data: formData, 
    processData: false, 
    contentType: false, 
    success: function(response){console.log(response)}, 
    error: function(err){console.log(err)} 
}); 

然后用这个创建一个upload.php:

<?php

$pdf = $_FILES['pdf']['tmp_name']; 
$name = $_GET['name'];
 

if(isset($pdf)){ 
    $location = "../uploads/";
    move_uploaded_file($pdf, $location.$name.'.pdf');
};

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多