我在index.php中有一个使用TCPDF库创建PDF的表单。我要做的是,当文本字段或选择失去焦点时,在提交表单之前显示PDF预览。
3个PHP文件:
$pdf->Output('file_name.pdf', I); )。"I“在这里表示将PDF呈现给浏览器("F”用于保存文件)。HTML - index.php
<div id="insertingData">
<form id="form" action="create_pdf.php" method="POST">
// some input, textarea and select tags for PDF content with 'c' class
</form>
</div>
<div id="pdfPreview"></div>AJAX
$('.c').on('blur', function(){
$.ajax({
type: 'POST',
url: 'create_pdf_preview.php',
data: $('#form').serialize(),
success: function(data){
$('#pdfPreview').html(data); // this should be PDF
},
dataType: 'html' // PDF
});
});那么-有谁知道,如何改变AJAX的工作方式?如果我能提供更多的细节,请告诉我。
谢谢你的建议。
发布于 2014-05-21 06:06:04
即使它可以工作,你是如何期待它.html()的pdf进入页面?
我建议您所做的(受到Preview pdf file created with TCPDF in embed tag after Ajax call的启发)是添加一个嵌入标记,其中包含新创建的pdf的src。我的意思是,用新创建的pdf刷新嵌入源。
与在create_pdf_preview.php中输出那样的pdf不同,您可以使用第二个文件进行重写,当ajax调用结束时,只需将嵌入的src更改为类似于path/to/file.pdf?g=45的内容,并在那里使用一个随机数,这将使浏览器以为src已经更改并刷新了该文件。
现在,在我得到灵感的问题中,如果您为多个用户使用相同的文件,只需创建基于时间戳或ip的临时文件,或者两者都创建,并在他们完成编辑时删除它们,您就会遇到问题。
https://stackoverflow.com/questions/23726483
复制相似问题