2016-08-05 4 views
1

Я использую библиотеку dompdf для вывода некоторых отчетов. Я получил вывод файла, но у меня странное поведение. Как включить отладочную отчетность в dompdf?Как включить отладку в библиотеке dompdf?

$dompdf = new Dompdf(); 

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

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

Какой тип отладочной отчетности вы ищете? – BrianS

+0

Любая информация об отладке будет полезна. В основном, я думаю. – danielson317

+0

Существует два типа отладки: визуальный в визуализированном PDF и текстовом. Я думаю, это помогло бы узнать, какое странное поведение вы пытаетесь отлаживать. – BrianS

ответ

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)); 
+0

Я пробовал это, но не получил результатов отладки. Где распечатывается информация? – danielson317

+0

Он добавляет строки внутри PDF для границ элементов компоновки. –

1

Если вы хотите какой-то текст отладки попробуйте установить следующие глобальные переменные перед их использованием DOMPDF:

global $_dompdf_warnings = array(); 
global $_dompdf_show_warnings = true; 
0

Настройка глобалов как 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(); 
Смежные вопросы