当前位置: 首页 > 面试题库 >

使用mpdf通过AJAX生成PDF

漆雕安晏
2023-03-14
问题内容

我正在使用mpdf库生成用户生成的html的PDF。我可以使PDF成功保存到服务器,但是我希望PDF在用户浏览器中打开。我尝试使用mpdf的输出选项在浏览器中打开文件或提示下载,但是当我使用AJAX将html数据发送到脚本时都没有发生。

这是我的AJAX:

$('#save').click(function() {

        var shelf_clone = $('#shelf').clone();
        var shelf = shelf_clone.prop('outerHTML');

        $.ajax({
            type: "POST",
            url: "pdf.php",
            data: { html:shelf },
            success: function(response)
            {
                $('#status').html('File Saved Successfully');
            },
        })

    });

这是我的PDF生成脚本:

<?php

include_once('/mpdf/mpdf.php');

$html = $_POST['html'];

$mpdf=new mPDF();
$stylesheet = file_get_contents('css/print.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html,2);
$mpdf->Output('shelf.pdf', I);

exit;

?>

我正在使用AJAX,因此无需浏览页面即可创建PDF。我的代码中是否有错误,还是应该使用其他方法


问题答案:

我最终没有使用AJAX,而是在表单上添加了隐藏输入,并使用以下脚本填充了它:

$('#save').click(function() {

    event.preventDefault();

    var shelf_clone = $('#shelf').clone();
    var shelf = shelf_clone.prop('outerHTML');

    $('#save_shelf input[name=shelf]').val(shelf);

    $('#save_shelf').submit();

});


 类似资料:
  • 问题内容: 我正在尝试捕获audiorecorder(https://github.com/cwilso/AudioRecorder)并通过Ajax向Blob发送一个php文件,该文件将接收Blob内容并创建文件(在这种情况下为wave文件)。 Ajax呼叫: 和我的php文件(vocal_render.php): PS:我是blob和ajax的新手。提前致谢。 问题答案: 尝试将文件上传为表单数

  • 我是新的Webdriver,我不能让你知道的网站名称和凭据,因为这是一个正在进行的项目,我的公司。我陷入了一个位置,在该网站的一个页面中,有一个通过ajax在运行时生成的表,其中的所有数据也是在运行时生成的,该表中有一个元素,其xpath为,但当我试图使用webdriver查找该元素时,webdriver无法找到该元素,并且我得到一条错误消息,如下所示

  • 问题内容: 我经常去一个网站查找东西。我对自己心想:“继续。我可以编程。当我可以编写一个可以为我做的软件时,为什么要手动进入该站点?”。 所以我开始了。我正在使用C#,所以我找到了WebClient和Uri。 我已经设法获取了该站点的源代码,但是问题出在加载源代码之后,我要查找的特定数据是通过AJAX生成的。 那就是我的问题。如果需要先通过AJAX调用来请求,该如何获取该代码? 问题答案: 通用方

  • 我目前正在使用mPDF处理一些事情。然而,我面临的问题是,mPDF使用的FPDI版本无法处理超过PDF版本1.4的文件。有一个(付费)的商业插件,使处理较新的PDF文件成为可能。问题是: 我通过composer安装了mPDF 我无法更改FPDI包,因为mPDF本身就是一个包,使用另一个包 我的问题是:如何将mPDF更改为使用FPDI的商业(v2)版本? 提前感谢。 ~z~布伦丹

  • 问题内容: 我需要在maven pom.xml文件中设置一个属性,该属性应该是UUID。谁能告诉我 将属性设置为UUID的最佳方法是什么? 我正在使用启动gigaspaces的配置文件,并且gigaspaces需要组名, 想要唯一(uuid)。因此,在我的个人资料中,我想设置一个groupName属性值 每次构建都应更改。我自己写了一个UUIDGenerator插件,因为没有找到任何插件。 因此,

  • 我正在使用gRPC服务的protoc gen swagger生成swagger json文件。输出json是用空响应示例生成的,我想向定义中添加响应示例,以便在生成的json中自动填充。 这是我目前的定义。 当我使用命令生成swagger文件时 我得到一个包含此用户对象定义的swagger文件 我想用如下示例值生成它: