Php 使用生成的QRCode(png)和JSPDF在服务器上保存PDF

Php 使用生成的QRCode(png)和JSPDF在服务器上保存PDF,php,jquery,html,ajax,jspdf,Php,Jquery,Html,Ajax,Jspdf,我正在尝试保存生成的PDF,该PDF从“div”生成PDF,并将其保存到我的服务器 我使用JSPdf将PDF保存在服务器上。问题是我的div中有一个图像,它是一个生成的QR码。当我打开PDF时,生成的QRCode如下所示 我认为问题出在发送到“upload.php”的过程中,因为当我使用JSPDF本地保存该div时,QRCode会正确显示 $("#printer").on("click",function(e){ var doc = new jsPDF(); doc.fromH

我正在尝试保存生成的PDF,该PDF从“div”生成PDF,并将其保存到我的服务器

我使用JSPdf将PDF保存在服务器上。问题是我的div中有一个图像,它是一个生成的QR码。当我打开PDF时,生成的QRCode如下所示

我认为问题出在发送到“upload.php”的过程中,因为当我使用JSPDF本地保存该div时,QRCode会正确显示

$("#printer").on("click",function(e){

   var doc = new jsPDF();
    doc.fromHTML($('#qrcode')[0], 15, 15, {  //"#qrcode" is the div which should be saved
      'background': '#fff',
    }, function() {
      doc.save('sample-file.pdf');

    var pdf =doc.output();
    var data = new FormData();
        data.append("data" , pdf);

    var xhr = new XMLHttpRequest();
    xhr.open( 'post', 'upload.php', true ); //Post to php Script to save to server
    xhr.send(data);


    e.preventDefault();  //stop the browser from following
    window.location.href = 'uploads/test.pdf';

    });

});
这是我的“upload.php”代码:


QRcode是一个.png文件。并以“#qrcode”显示。 我希望有人能帮助我在服务器上正确显示QRCode

提前谢谢

<?php
if(!empty($_POST['data'])){
    $data = $_POST['data'];
    $fname = "test.pdf"; // name the file
    $file = fopen("uploads/" .$fname, 'w'); // open the file path
    fwrite($file, $data); //save data
    fclose($file);
} else {
    echo "No Data Sent";
}
?>