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();