如何在dompdf库上启用调试?

时间:2016-08-05 01:10:09

标签: php dompdf

我正在使用dompdf库输出一些报告。我有一个文件输出但我有一些奇怪的行为。如何在dompdf中启用调试报告?

  $dompdf = new Dompdf();

  // something like this
  $dompdf->enableDebug();

  $dompdf->loadHtml($template);
  $dompdf->setBasePath(realpath('./'));
  $dompdf->render();
  $dompdf->stream('note');

3 个答案:

答案 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;