2016-08-05 17 views
1

Ich verwende Dompdf-Bibliothek, um einige Berichte auszugeben. Ich habe eine Datei ausgegeben, aber ich habe ein seltsames Verhalten. Wie aktiviere ich das Debug-Reporting in dompdf?Wie aktiviere ich das Debugging für die dompdf-Bibliothek?

$dompdf = new Dompdf(); 

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

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

Welche Art von Debug-Reporting suchen Sie? – BrianS

+0

Alle Debug-Informationen wären hilfreich. Hauptsächlich Layout, denke ich. – danielson317

+0

Es gibt zwei Arten von Debugging: visuell im gerenderten PDF und textuell. Ich denke, es würde helfen zu wissen, welche Art von seltsames Verhalten Sie versuchen zu debuggen. – BrianS

Antwort

2

Es gibt mehrere Debug-Optionen: debugPng, debugKeepTemp, debugCss, debugLayout, debugLayoutLines, debugLayoutBlocks, debugLayoutInline, debugLayoutPaddingBox. Sie können wie diese weitergegeben werden Bauherr:

<?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

Ich habe dies versucht, aber keine Debug-Ergebnisse erhalten. Wohin geht die Info? – danielson317

+0

Es fügt Zeilen innerhalb von PDF für die Grenzen von Layoutelementen hinzu. –

1

Wenn Sie einen Text Debuggen versuchen Sie die folgenden globalen Variablen vor der Verwendung dompdf einstellen wollen:

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

die Globals wie BrianS einrichten sagt:

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

Dann statt Streaming des pdf an den Browser, Dump die Warnungen Array:

header('Content-type: text/plain'); 
var_dump($_dompdf_warnings); 
die();