我想从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不应在浏览器中打开。