Dompdf php变量没有显示

时间:2016-11-09 11:09:17

标签: php dompdf

我使用dompdf库将我的php页面转换为pdf,下面是代码

<?php
require_once 'dompdf/autoload.inc.php';

// reference the Dompdf namespace
use Dompdf\Dompdf;

if (isset($_GET['action']) && $_GET['action'] == 'download') {

  // instantiate and use the dompdf class
  $dompdf = new Dompdf();

 //to put other html file
 $html = file_get_contents('challan-form.php');

 //hide download pdf link in generated output pdf
 $html .= '<style type="text/css">.hideforpdf { display: none; }</style>';

 //load html
 $dompdf->loadHtml($html);

 // (Optional) Setup the paper size and orientation
 $dompdf->setPaper('Legal', 'Landscape');

 // Render the HTML as PDF
 $dompdf->render();

 // Output the generated PDF (1 = download and 0 = preview)
 $dompdf->stream("sample",array("Attachment"=>0));
}
?>

当我在浏览器中看到php文件时,它正确显示回显的php变量,但是当我从该php文件生成pdf时,php代码将出现在pdf文件中。如何使它工作?

我从postgresql表中获取数据并在php中显示

我的示例php代码

<div style="display:block; width:98%; padding: 2px 0 0 5px; font-size:10px;">
                    <span style="width:25%; display:inline-block;">Employee ID</span>
                    <Span style="width:65%; display:inline-block;" class="bold-text"><?php echo $row['empcode'];?></SPan>
                </div>

                <div style="display:block; width:98%; padding: 2px 0 0 5px; font-size:10px;">
                    <span style="width:25%; display:inline-block;">PRAN No</span>
                    <Span style="width:65%;" class="bold-text dInline"><?php echo $row['pranno'];?></SPan>
                </div>

更新:我已经使用了dompdf 0.6并启用了内联php,仍然无法正常工作

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但是无论如何。我自己才知道: 诀窍只是将html呈现为php中的字符串,并与希望在PDF中显示的值连接在一起。 您必须谨慎使用引号,因为标记中会包含双引号。因此,如果您了解我的意思,则可以使用单引号作为包装。

类似这样:

$html = '<div class = "some class" >' . $variable . '</div>';

然后可以将此字符串加载到$ dompdf实例中。 $ variable可能会从任何地方(例如数据库)获取其价值,或者您可能要遍历循环以构建布局元素。