【发布时间】:2016-12-10 18:46:25
【问题描述】:
我想将 html 打印为 pdf。在项目中,我使用 symfony 和 twig 来渲染模板。当我将 html 返回到浏览器时,它看起来不错。 它应该是大约 10 页。
但是当我尝试创建 PDF 时,我只得到两页。
$html = $this->render('offer/print.html.twig', array('offer' => $Offer ));
$options = new Options();
$options->setIsRemoteEnabled( false );
// instantiate and use the dompdf class
$dompdf = new Dompdf( $options );
$dompdf->setPaper('A4');
// Render the HTML as PDF
$dompdf->loadHtml( $html );
$dompdf->render();
$dompdf->stream();
PHP 7 Symfony 3.0.9 dompdf 0.7.0
它看起来不像浏览器中的 html。我必须稍后调试css。 谁能告诉我为什么我的pdf只有两页?
【问题讨论】:
-
为什么要输出缓冲区?如果渲染调用将渲染数据返回到 $html,那么缓冲、回显 $html 没有意义,只有这样您才能捕获到 $output。为什么不直接使用
$output = $this->render...? -
@MarcB 我也试过这个。还有 $dompdf->loadHtml( $this->render( ));
-
如果没有正确的 HTML 输出和 CSS,很难判断,dompdf 可能是一个难以处理的皮塔饼。确保您在 CSS 中也设置了正确的尺寸
标签: html pdf twig symfony dompdf