Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Zend中使用DOMPDF时渲染表不适合pdf?_Php_Zend Framework_Dompdf - Fatal编程技术网

Php 在Zend中使用DOMPDF时渲染表不适合pdf?

Php 在Zend中使用DOMPDF时渲染表不适合pdf?,php,zend-framework,dompdf,Php,Zend Framework,Dompdf,我从控制器中获取了以下代码 ... $this->view->vCount = count($result); $this->view->Reportlist = $result; // create view object $html = new Zend_View(); $html->setScriptPath(APPLICATION_PATH . '/layou

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

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

DOMPDF在css和表格方面存在一些问题。最佳实践是避免单元格或行跨度,并且不使用外部css文件。此外,仅支持一组有限的css规则。查看完整的兼容性列表:

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

<table width="90%">.. Your data here </table>
。。你的数据在这里

编辑:尝试将表格放入
中。这解决了一些大错误

DOMPF在css和表格方面存在一些问题。最佳实践是避免单元格或行跨度,并且不使用外部css文件。此外,仅支持一组有限的css规则。查看完整的兼容性列表:

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

<table width="90%">.. Your data here </table>
。。你的数据在这里

编辑:尝试将表格放入
中。这解决了一些严重的错误

不幸的是,使用DOMPDF将表格放入PDF是不可能的。DOMPDF团队仍在进行这方面的工作,我可以说这是最重要的问题之一。您可以通过此链接了解有关此错误的更多信息


我建议您使用MPDF解决您的问题。我刚刚检查了MPDF,它工作得很好。

不幸的是,使用DOMPDF将表格放入PDF是不可能的。DOMPDF团队仍在进行这方面的工作,我可以说这是最重要的问题之一。您可以通过此链接了解有关此错误的更多信息


我建议您使用MPDF解决您的问题。我刚才检查了MPDF,它工作得很好。

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

更改为:

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

您的部分内容
其他一些内容
致:

您的一些内容
其他一些内容

这应该可以做到。

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

更改为:

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

您的部分内容
其他一些内容
致:

您的一些内容
其他一些内容

这应该可以做到。

可以在页面中放置一个表,您可以使用CSS(内联或头标记)


确保您没有定义诸如width=“78”之类参数的样式表。

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


确保没有样式表定义诸如width=“78”之类的参数。

不确定“表不在pdf中”是什么意思。PHP中没有任何问题。你能发布一个示例HTML文档以及生成的PDF吗?@Brian谢谢,实际上我的表格有6列,只有4列显示在PDF中,剩下的2列已经从PDF中消失了…我们如何才能使其完美…我明白了,所以表格呈现得太宽,无法放在页面上?切换到景观?要纠正列宽方面的问题,您所能做的只有这么多,但如果您能发布一个示例文档,我会看一看。不确定“表不在pdf中”是什么意思。PHP中没有任何问题。你能发布一个示例HTML文档以及生成的PDF吗?@Brian谢谢,实际上我的表格有6列,只有4列显示在PDF中,剩下的2列已经从PDF中消失了…我们如何才能使其完美…我明白了,所以表格呈现得太宽,无法放在页面上?切换到景观?要纠正列宽方面的问题,您所能做的只有这么多,但如果您能发布一个示例文档,我会看一看。