1

dompdf を使用して html から pdf へのテーブルを生成しようとしていますが、foxit リーダーまたは adobe リーダーで開くとファイル破損エラーが発生します。Sumatra は dompdf が生成するファイルを問題なく開くことができます

 <table border="1">
            <tr>
                <th>Name</th>
                <th>Course</th>
            </tr>
            <?php   
            foreach($select as $s){     
            ?>
            <tr>
                <td><?php echo $s->strName; ?></td>
                <td><?php echo $s->strCourse; ?></td>
            </tr>       
            <?php } ?>

 </table>

これがpdfを生成するファイルです。上記のコードの出力はセッションに保存されるだけで、このファイルはその内容を抽出するだけです。

require_once('../classes/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();


$data = $_SESSION['view'];

ob_start();
?>

<!--css-->


<?php
$subj = $_SESSION['view']['bi'];

echo $subj.'<hr/>';

foreach($data as $d){


        echo $d.'<br/>';

}

$print = ob_get_contents(); 
ob_end_flush();

$tym = date('g:i s');
$filename = 'print '.$subj. $tym;
$dompdf->load_html($print);

    $dompdf->render();
    $dompdf->stream($filename. ".pdf", array("Attachment" => 0));

このエラーを特定するにはどうすればよいですか。

4

1 に答える 1

2

私はこれとまったく同じ問題を抱えていました。私が思いついた解決策は、単純にDOMPDF 0.6.0 beta 2にアップグレードすることでした。生成された PDF を Evince (Linux)、Acrobat Reader、ネイティブ ビューアー (Mac)、および Adob​​e Reader を Windows で再度テストしました。すべてが完全にうまく機能します。

アップグレードは非常に簡単ですが、私にとっては (構成オプションはデフォルトと同じであるため)、すべてをコメントアウトしてdompdf_config.custom.inc.phpデフォルトのままにしました。これはほとんどの場合に機能します。

于 2011-09-27T21:15:10.850 に答える