代码之家  ›  专栏  ›  技术社区  ›  somdow

dompdf冻结不显示内容。页面为空白

  •  0
  • somdow  · 技术社区  · 11 年前

    我正在做一个小项目,该项目应该通过pdf发送证书。它的工作方式是,客户进入他的管理页面,填写某些信息,如姓名/年龄/日期/电子邮件等,然后,一旦点击提交,它应该填写一个PDF(带有dompdf)并通过电子邮件发送。

    我陷入了生成PDF的部分。

    如果我坚持使用普通文本,那么pdf就会很好地生成。我一开始使用内联php,它就会在30秒后冻结。我觉得这很奇怪,因为我把整个文档剪成了一个带有小字符串变量的长句,剪下来后,它现在显示的是pdf,但结果是空白的。

    这是我迄今为止所拥有的一部分。

    HTML:在这个页面上,我有一个测试链接,如下所示:

    Click this link <a href="certificate-proc.php?loc=florida&name=Lopan&courseMan=mike%20bitz">HERE</a> to send over details to fill into the certificate.
    

    代码:在接收这些信息的页面上,我有这个,它应该从链接中获取get信息,并将其传递给文档。

    <?php
    require_once('dompdf_config.inc.php');
    
    $locs = $_GET["loc"];
    $name = $_GET["name"];
    $course = $_GET["courseMan"];
    $date = "sunday at some time today it will happen";
    
    
    
    
    
    //create new dompdf object
    $html = ' <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    
    </head>
    
    <body>
        <div id="mainW">
    <?php echo $name; ?>
    
       </div><!-- mainW ender -->
    </body>
    </html> ' ;
    
    $dompdf = new DOMPDF(); 
    $dompdf->load_html($html);
    $dompdf->render();
    $dompdf->stream("sample.pdf");
    
    
    ?>
    

    就目前的情况来看,有了上面的内容,它应该显示出这个名字。尽管生成了PDF,但里面什么也没打印出来。它是空白的。 如果我去掉php并添加常规文本。它有效。

    关于我缺少什么有什么想法吗?我对这一切都很陌生,所以非常感谢任何帮助或指导。

    提前谢谢。

    1 回复  |  直到 11 年前
        1
  •  1
  •   davewoodhall    11 年前

    您正在使用 <?php ?> 字符串中的标记。试试这个:

    $html = '... <div id="mainW">'.$name.'</div>' ...;
    

    或者,您可以这样添加:

    $html = '...';
    $html .= $name;
    $html .= '...';