渲染表在Zend中使用DOMPDF无法容纳在pdf中吗?

问题描述 投票:0回答:3

我有以下代码来自控制器,

        ...
        $this->view->vCount = count($result);
        $this->view->Reportlist = $result;
          // create view object
        $html = new Zend_View();
        $html->setScriptPath(APPLICATION_PATH . '/layouts/scripts/');
        $html->assign('Reportlist', $this->view->Reportlist);
        $html->assign('vCount', $this->view->vCount);

        // render view
        $bodyText = $html->render('getreport.phtml');     
        //echo $bodyText; exit;
        //error_reporting(E_ALL);

        $dompdf = new DOMPDF();
        $dompdf->set_paper("a4","portrait");
        $dompdf->load_html($bodyText);

        $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']);
        $dompdf->render();
        $dompdf->stream($report_date.".pdf");
        .....

以上代码使用我的HTML内容生成pdf。但是表格不在pdf内。 HTML内容仅呈现pdf的一半。我们如何使用DOMPDF使它适合PDF?

php zend-framework dompdf
3个回答
3
投票

DOMPDF在CSS和表格方面存在一些问题。最佳做法是避免使用单元格或行距,而不使用外部CSS文件。也仅支持有限的一组CSS规则。查看完整的兼容性列表:http://code.google.com/p/dompdf/wiki/CSSCompatibility

为了解决您的问题,您是否尝试过设置表格的宽度:

<table width="90%">.. Your data here </table>

编辑:尝试将表格放入<div></div>。解决了一些大错误


1
投票

不幸的是,无法使用DOMPDF将表格放入PDF中。 DOMPDF团队仍在研究它,我可以说它是两个问题之间的首要话题。您可以点击此链接以了解有关此错误的更多信息...

DOMPDF issue

我建议您使用MPDF来解决您的问题。我刚刚检查了MPDF,效果很好。


0
投票

td元素内的所有内容都应与td元素的开始和结束标记在一行中,添加新行会破坏表的呈现。

更改自:

<tr>
<td>
    Some of your content<br/>
    some other content
</td>

收件人:

<td>Some of your content<br/>some other content</td>

这应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.