dompdf 0.8.2 pdf шаблон с переменной / кодом php - PullRequest
0 голосов
/ 28 ноября 2018

У меня проблема с dompdf в PHP, в моем файле шаблона 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 голосов
/ 28 ноября 2018

Проблема была в file_get_contents, он принимает только содержимое файла, он не оценивает содержимое файла (например: <?php code?>).

Я должен добавить в свой кодбуферная механика:

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

C

...