【问题标题】:dompdf - just getting two pages in pdfdompdf - 只得到两页 pdf
【发布时间】: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


【解决方案1】:

有趣的是,问题似乎出在render() 函数上。 当我改用renderView() 时,我的输出跨越了多个页面。

render() 还返回 HTTP 标头。出于这个原因,我得到了一个损坏的 pdf,第一面是标题信息,第二面是所有内容。

只是 CSS 不起作用,但这是另一个问题 :)

【讨论】:

    【解决方案2】:

    请上传你的树枝文件。我认为你的问题与你的 css 相关。

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 2019-09-08
      • 2023-03-10
      • 1970-01-01
      • 2014-05-09
      • 2015-06-24
      • 2015-07-03
      • 2021-12-28
      • 2013-04-22
      相关资源
      最近更新 更多