带有变量/代码php的dompdf 0.8.2 pdf模板

时间:2018-11-28 19:42:44

标签: dompdf

我在PHP中使用dompdf时遇到问题,在我的模板文件中dompdf无法执行我的<?php ?>代码。你有什么想法吗?

Template.php

    <!DOCTYPE html>
    <html>

    <head>
        <meta charset="utf-8">
        <title></title>
    </head>

    <body>
      BEFORE
      <?php echo "PHP CODE"; ?>
     AFTER
   <?php echo $var1; ?>

PHP代码

<?php

require dirname(__DIR__) . '/vendor/autoload.php';
require_once dirname(__DIR__) . '/vendor/dompdf/dompdf/lib/html5lib/Parser.php';
require_once dirname(__DIR__) . '/vendor/dompdf/dompdf/src/Autoloader.php';
Dompdf\Autoloader::register();
$var1 = "TEST1";
var_dump($var1);

use Dompdf\Dompdf;
use Dompdf\Options;
    $options = new Options();
    $options->set('isPhpEnabled', TRUE);
    $dompdf = new Dompdf($options);
    $dompdf->loadHtml( file_get_contents(dirname(__DIR__) . '\template.php') );
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents(dirname(__DIR__) . '/data/' .'Output.pdf', $output);

PDF输出

之后

....

信息

dompdf / dompdf版本^ 0.8.2

PHP 7.2.12

感谢C,

1 个答案:

答案 0 :(得分:0)

问题是file_get_contents仅接收文件的内容,而不评估文件的内容(例如:<?php code?>)。

我必须在我的代码中添加一个缓冲机制:

ob_start();
include $template;
$contents = ob_get_clean();
$dompdf->loadHtml($contents);

C