我正在使用dompdf库输出一些报告。我有一个文件输出但我有一些奇怪的行为。如何在dompdf中启用调试报告?
$dompdf = new Dompdf();
// something like this
$dompdf->enableDebug();
$dompdf->loadHtml($template);
$dompdf->setBasePath(realpath('./'));
$dompdf->render();
$dompdf->stream('note');
答案 0 :(得分:3)
设置像BrianS这样的全局变量:
global $_dompdf_warnings;
$_dompdf_warnings = array();
global $_dompdf_show_warnings;
$_dompdf_show_warnings = true;
然后,不是将pdf流式传输到浏览器,而是转储警告数组:
header('Content-type: text/plain');
var_dump($_dompdf_warnings);
die();
答案 1 :(得分:2)
有几个调试选项:debugPng,debugKeepTemp,debugCss,debugLayout,debugLayoutLines,debugLayoutBlocks,debugLayoutInline,debugLayoutPaddingBox。它们可以像这样传递给构造函数:
<?php
require_once 'vendor/autoload.php';
$dompdf = new \Dompdf\Dompdf(array(
'debugLayout' => true,
));
$html = '<b>BOLD</b>';
$dompdf->loadHtml($html);
$dompdf->render();
$dompdf->stream("sample.pdf", array("Attachment"=>0));
答案 2 :(得分:2)
如果您想要一些文本调试,请在使用Dompdf之前设置以下全局变量:
global $_dompdf_warnings = array();
global $_dompdf_show_warnings = true;