2016-08-05 2 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のビジュアルとテキストの2種類があります。私はあなたがデバッグしようとしている奇妙な動作の種類を知るのに役立つと思います。 – 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(); 
関連する問題