通过Ajax在服务器端保存kendo编辑器PDF

时间:2018-10-03 15:10:15

标签: jquery kendo-ui server-side kendo-editor

我想从kendo编辑器的内容生成PDF并将其通过jQuery通过ajax保存在服务器上。 PDF服务器端应使用PHP保存。

我生成了以下示例:

HTML:

<button id="btnPdfExport">PDF Export</button>
<br>
<div id="pdf_content" style="width:250px; height:350px;">
    Content to export by pdf<br>
</div>

JS:

$(document).ready(function() {
  $("#pdf_content").kendoEditor({
   pdf: {
     fileName: "testExport.pdf",
     proxyURL: "myproxy path",
     paperSize: "a4",
   },
   pdfExport: function (e) {
     // save here?
   },
 });
 $("#btnPdfExport").kendoButton({
   click:function(){
     $("#pdf_content").getKendoEditor().saveAsPDF()
      .done(function (e) {
       // save here?
      });
   }
 });
});

PHP代理:

// https://docs.telerik.com/kendo-ui/framework/save-files/introduction
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
 $fileName = $_POST['fileName'];
 $contentType = $_POST['contentType'];
 $base64 = $_POST['base64'];

 $data = base64_decode($base64);

 header('Content-Type:' . $contentType);
 header('Content-Length:' . strlen($data));
 header('Content-Disposition: attachment; filename=' . $fileName);

 echo $data;
}

jQuery ajax:

$.ajax({
 method:'POST',
 url:ajaxURL,
 dataType:'json',
 data:{
  data: JSON.stringify(data);
 },
 success : function( response ) {
 },
});

我试图用proxyURL捕获PDF,然后将其保存。 或pdfExport()以及.done(),但不幸的是我做错了。

如何将生成的PDF保存在服务器上? PDF不应在浏览器中打开。

0 个答案:

没有答案