如何使用html2pdf在ajax调用之后转换动态html

时间:2016-09-08 13:04:53

标签: php jquery html ajax pdf

我正在尝试在我的html页面中动态设置数据,然后我转换为pdf并下载它,这是我的调用网址:

  

createPDF.php来?ID = 78

这是我在createPDF.php中的html部分:

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
function func(){
       jQuery.ajax({
        url:'******************/products/78',
        type:'GET',
        success:function(response)
        {

            $.each(response,function(index,product){
                jQuery("#pdfTitle").append( product.title );
                jQuery("#pdfDescription").append(product.description);
                jQuery("#pdfImage").append('<img class="img-responsive" src="' + product.meta_description + '" />');
                console.log('title='+product.title);
            });
        }
    });
}
</script>
</head>
<body onload="func()">  
    <h1 style="color:red;">Description</h1>
    <p id="pdfDescription"></p>
    <p>Copyright © Test</p>
</body>
</html>

之后我在一些文件中转换了php部分:

$content = ob_get_clean();
// convert to PDF
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');


$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('Oumaya.pdf', 'D');

但我总是清空pdf,这就是在控制台中发生的事情:

  

createPDF.php?id = 78:94资源被解释为Document但是   转移MIME类型application / pdf

1 个答案:

答案 0 :(得分:1)

您需要在文档的开头添加<?php ob_start(); ?>才能使ob_get_clean()生效。