我在PHP中使用dompdf时遇到问题,在我的模板文件中dompdf无法执行我的<?php ?>
代码。你有什么想法吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
BEFORE
<?php echo "PHP CODE"; ?>
AFTER
<?php echo $var1; ?>
<?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);
之后
....
dompdf / dompdf版本^ 0.8.2
PHP 7.2.12
感谢C,
答案 0 :(得分:0)
问题是file_get_contents
仅接收文件的内容,而不评估文件的内容(例如:<?php code?>
)。
我必须在我的代码中添加一个缓冲机制:
ob_start();
include $template;
$contents = ob_get_clean();
$dompdf->loadHtml($contents);
C