【问题标题】:Get dompdf to print iframe content in a PDF?获取 dompdf 以在 PDF 中打印 iframe 内容?
【发布时间】:2012-08-20 12:51:51
【问题描述】:

我正在为我正在构建的项目使用 dompdf,部分项目需要生成 PDF 格式的报告。

在报告的 HTML 版本中,我将报告的一些详细信息显示在 iFrame 中,如下所示:

        <?php foreach ($jobsheets as $jobsheet) { ?>
            <iframe src="http://localhost/modal/customers/<?php echo $company['Company']['id']; ?>/jobs/<?php echo $jobsheet['Jobsheet']['id']; ?>/viewlite/" id="jbif<?php echo $jobsheet['Jobsheet']['id']; ?>" frameborder="0" width="975px" height="272px" scrolling="no" class="<?php echo $jobsheet['Jobsheet']['jobdate']; ?>"></iframe>
        <?php } ?>

但是,生成的 PDF 未呈现这些 iframe。我可以做些什么来让 dompdf 模块呈现它们,还是我必须在不使用 iframe 的情况下物理包含数据?

【问题讨论】:

    标签: php pdf-generation dompdf


    【解决方案1】:

    Dompdf 不支持在文档中呈现 iframe。您可以在跟踪器中提交问题。 你现在需要使用其他东西。

    【讨论】:

    • 刚才有人在 IRC 上提到了这一点。我现在已经从 iFrame 中取出了内容。
    【解决方案2】:

    要显示从 dompdf 生成的 pdf 文件,请尝试将文件保存到磁盘,然后在 object 标记内调用。

    PHP

    try {
        $buffer = ob_get_contents();
        ob_clean();
    
        $dompdf = new \Dompdf\Dompdf();
    
        $dompdf->setPaper('A4');
        $dompdf->loadHtml($buffer);
    
        $dompdf->set_option('isHtml5ParserEnabled', true);
    
        // Render the HTML as PDF
        $dompdf->render();
    
        // save the generated PDF to Browser
        file_put_contents('file.pdf', $dompdf->output());
        chmod('file.pdf', 0777);
    } catch (Exception $ex) {
        echo $ex->getMessage();
    }
    

    HTML

    <html>
    <head>
        <title>FILE PDF</title>
    </head>
    <body style="margin: 0; padding: 0">
        <div style="width: 740px; margin-left: auto; height: 20%; padding: 0; margin: 0;">
            <a href="">SEND PDF</a>
        </div>
        <object data="http://<?=$_SERVER['HTTP_HOST']?>/file.pdf" type="application/pdf" style="margin: 0; width:100%; height: 80%; padding: 0;">
          <embed src="http://<?=$_SERVER['HTTP_HOST']?>/file.pdf" type="application/pdf" />
        </object>
    </body>
    

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      相关资源
      最近更新 更多