【问题标题】:DOMPDF - PHP-HTML to PDF conversion?DOMPDF - PHP-HTML 到 PDF 的转换?
【发布时间】:2013-07-28 19:20:25
【问题描述】:

我有一个 php 文件,我想使用 dompdf 生成一个 PDF,我已经使用下面的代码进行了尝试,但我无法从 php 获取文件的 html,关于如何获取 html 元素的任何想法来自 php 文件?

    <?php
    require_once("dompdf/dompdf_config.inc.php");
    ob_start();        
    ?>
    <html>
     <body>
     <?php
         //Code for a colored table
     ?>
     <form method=post action=#><input type=submit name=submit id=submit value="Create PDF"></form>
     </body>
    <html>

    <?php
        if((isset($_POST['submit'])))
        {
            $html = ob_get_contents(); 
                ob_end_flush();
            $dompdf = new DOMPDF();
            $dompdf->load_html($html);
            $dompdf->render();
            $dompdf->stream("Time Table.pdf");
        }
    ?>

编辑: 现在它给出了一个错误:

致命错误:超过 30 秒的最大执行时间.../

【问题讨论】:

  • 我在这里没有看到任何异常。提交表单时会得到什么?你有任何错误吗?
  • 致命错误:超过最大执行时间 30 秒

标签: php html pdf dompdf


【解决方案1】:

不确定这有多重要,但您的 html 结束标记实际上只是另一个打开的 html 标记。尝试关闭它并将您的代码更改为以下内容:

 <?php
    require_once("dompdf/dompdf_config.inc.php");
    ob_start();        
    ?>
    <html>
     <body>
     <?php
         //Code for a colored table
     ?>
     <form method=post action=#><input type=submit name=submit id=submit value="Create PDF"></form>
     </body>
    </html>

    <?php
        if((isset($_POST['submit'])))
        {
            $html = ob_get_contents(); 
                ob_end_flush();
            $dompdf = new DOMPDF();
            $dompdf->load_html($html);
            $dompdf->render();
            $dompdf->stream("Time Table.pdf");
        }
    ?>

【讨论】:

  • 抱歉打错了,我的代码生成了 pdf,但是 pdf 文件损坏了!它也给出了致命错误:最大执行时间超过 30s
  • @TKA 如果 PDF 损坏,一些 PHP 错误/通知可能会泄漏到输出流中。保存 PDF 并在文本编辑器中打开它,看看是否是这种情况。错误将在文件的顶部。
  • @BrianS 但是当我回显 $html 时我确实得到了结果
  • @TKA 正如我所说,损坏的 PDF 通常是因为一些非 PDF 内容被注入到输出流中。这并不意味着 HTML 无效,甚至 PDF 无效。这只是意味着有额外的非 PDF 内容干扰您的 PDF 阅读器对文档的解析。您可以将 $dompdf-&gt;stream() 注释掉,然后查看返回的内容。
猜你喜欢
  • 2015-12-19
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 2015-03-29
  • 2011-06-17
  • 2020-09-19
相关资源
最近更新 更多