首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX生成PDF预览

通过AJAX生成PDF预览
EN

Stack Overflow用户
提问于 2014-05-18 20:23:18
回答 1查看 775关注 0票数 0

我在index.php中有一个使用TCPDF库创建PDF的表单。我要做的是,当文本字段或选择失去焦点时,在提交表单之前显示PDF预览。

3个PHP文件:

  1. 第一个包含创建PDF的TCPDF函数(有PDF输出设置$pdf->Output('file_name.pdf', I); )。"I“在这里表示将PDF呈现给浏览器("F”用于保存文件)。
  2. 第二个文件(create_pdf_preview.php)包含第一个文件和其他一些内容。
  3. 第三个文件(create_pdf.php)包含第一个文件和向DB收集数据。

HTML - index.php

代码语言:javascript
复制
<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

代码语言:javascript
复制
$('.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的工作方式?如果我能提供更多的细节,请告诉我。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 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的临时文件,或者两者都创建,并在他们完成编辑时删除它们,您就会遇到问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23726483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档