我使用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,仍然无法正常工作
答案 0 :(得分:0)
我知道这是一个老问题,但是无论如何。我自己才知道: 诀窍只是将html呈现为php中的字符串,并与希望在PDF中显示的值连接在一起。 您必须谨慎使用引号,因为标记中会包含双引号。因此,如果您了解我的意思,则可以使用单引号作为包装。
类似这样:
$html = '<div class = "some class" >' . $variable . '</div>';
然后可以将此字符串加载到$ dompdf实例中。 $ variable可能会从任何地方(例如数据库)获取其价值,或者您可能要遍历循环以构建布局元素。