dongpao1918 2014-12-17 06:53
浏览 125
已采纳

如何在dompdf中使用循环创建多个pdf文件

<?php
require_once 'classes/postgredb.class.php';
require_once 'include/functions.php';
require_once("/tools/dompdf/dompdf_config.inc.php");
$con=new PostgreDB(); 
ob_start();

$html =
    '<html><body>'.
    '<p>Hello World!</p>'.
    '<div style="page-break-after: always;"></div>'.
    '</body></html>';

for($i=0;$i<5;$i++)
{


$dompdf = new DOMPDF();
$dompdf->load_html($html);

$dompdf->render();
$dompdf->stream("Admit card.pdf",array("Attachment"=>0));
}



?>

I want to print the "Hello World" in each page,but my code is printing it in only one page. How do i print "Hello World" in each page using a loop.Please help me.

  • 写回答

1条回答 默认 最新

  • douxing8323 2014-12-17 07:33
    关注

    Try this:

    Your loop is wrong. The way you add pages to your PDF is probably wrong. Apparently you are overwriting one page again and again instead of attaching a new one.

    $html = <<<HTML
      <html>
          <head>
                <style type="text/css">
                    /* Your document styling goes here */
                </style>
          </head>
          <body>
    HTML;
    for($i=0;$i<5;$i++)
    {
        $html .= '<div style="page-break-after: always;"><p>Hello World!</p></div>';
    }
    $html .= '</body></html>';
    
    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    
    $dompdf->render();
    $dompdf->stream("Admit card.pdf",array("Attachment"=>0));
    $dompdf->clear();
    

    NOTE: You need to make sure, is that heredoc closer HTML is in a new line and not indented.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装