0

我从控制器中获取了以下代码,

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

4

4 回答 4

3

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

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

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

编辑:尝试将表格放入 <div></div>. 这解决了一些严重的错误

于 2012-07-23T09:03:59.223 回答
1

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

DOMPDF 问题

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

于 2014-07-31T09:21:56.487 回答
0

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

更改自:

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

至:

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

这应该可以解决问题。

于 2020-01-24T12:48:41.960 回答
0

在页面中放置表格是可能的,您可以为此使用 CSS(内联或头部标记)。

确保您没有样式表定义参数,如width="78"或类似的东西。

于 2021-05-31T13:34:57.143 回答