【问题标题】:generate pdf and embed in page with mpdf生成pdf并使用mpdf嵌入页面
【发布时间】:2012-08-20 11:10:04
【问题描述】:

我正在使用mPdf 生成一个 pdf,效果很好。

function generate_pdf()
{
    $bom =$_POST["bom_contents"];
    $html = $this->load->view("public/print",array($bom),TRUE); //returns the html
    $this->load->library("mpdf");//loading the library
    $this->mpdf->WriteHTML($html); //setting the html content to generate
    $this->mpdf->Output(); //send to browser
}

我的html如下:

<div>
    <embed  id="doc" class="doc" src="what_i_put_here ?"></embed>
</div>

如何设置嵌入元素的 src 属性,因为 mPdf 将内容直接发送到浏览器,而且我使用的是 POST 数据,所以我无法通过 URL 访问它。

【问题讨论】:

  • 是什么让你使用嵌入标签?你愿意嵌入你的 pdf 文件吗?
  • @shubhansh 我只想在页面中显示生成的pdf,

标签: php codeigniter pdf-generation mpdf


【解决方案1】:

将您的generate_pdf() 函数放在另一个文件中,例如pdf_generator.php。然后将该文件设置为源:

<div>
    <embed  id="doc" class="doc" src="pdf_generator.php<?=$_POST["bom_contents"];?>"></embed>
</div>

更新功能:

function generate_pdf()
{
    $bom =$_GET["bom_contents"];
    $html = $this->load->view("public/print",array($bom),TRUE); //returns the html
    $this->load->library("mpdf");//loading the library
    $this->mpdf->WriteHTML($html); //setting the html content to generate
    $this->mpdf->Output(); //send to browser
}

【讨论】:

  • 如何将帖子数据发送到文件?
  • 我假设由于$_POST 内容以 PDF 形式输出回用户,因此您不需要将其隐藏,因此使用 $_GET 应该不是问题.我已经更新了我的原始答案以反映这些变化。
  • 这是一种方式..但它很长。包含数据数组。
【解决方案2】:

我设法让它工作。

当我点击预览按钮时,它会显示一个通知,告诉Please wait generating pdf...,我也做了一个 ajax 请求。

我使用 ajax 请求生成了一个文件,创建文件后我打开了一个弹出窗口,以便我可以使用 src 属性来嵌入。

【讨论】:

    猜你喜欢
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 2020-02-08
    • 2016-11-18
    • 2019-10-08
    • 1970-01-01
    相关资源
    最近更新 更多