如何创建几页DOMPDF(How to create several pages with domp

2019-07-17 17:15发布

我有一些麻烦,多维数组和它的价值。

我所寻找的是,从我的查询,我在数组中搜索教师的名字。 之后,我想创建一个使用DOMPDF PDF文件。 问题是与循环。 我不能够创造一个合适的循环,将工作,我希望它的工作方式。 我的样本查询

    $q11 = "select id from teachers order by teacher ";
    $r11 = mysql_query($q11) or die(mysql_error());
    while($rows11 = mysql_fetch_array($r11)){
        $teacher = $rows11['id'];
        $dompdf->"It will start working";
    }

现在我知道,这个代码是混乱的,但我要的是,它应该在一个单一的PDF文件中的每个教师建立DOMPDF。 从查询像它应该获取教师,并为每个教师应该创建一个页面DOMPDF。 目前,它是根据我的查询有搜索的最后一个值使得只有一个页面。

请帮忙。 这是有点急。

Answer 1:

你的循环是工作的罚款。 你添加页面到PDF的方式也许是错误的。 显然,你一次又一次地改写一个页面,而不是安装一个新的。

编辑

我从来没有使用DOMPDF。 快速查看的文档,让我觉得你创造这样一个HTML标记,然后转换成PDF,为什么我得到这个权利?

示例代码

$html = <<<HTML
  <html>
      <head>
            <style type="text/css">
                /* Your document styling goes here */
            </style>
      </head>
      <body>
HTML;

while ( $row = $dbResult->fetch_assoc() ) {
    $html .= '<div class="teacherPage">'
                 . $row['name'] // your teacher document goes here
             '</div>';
}

$html .= '</body></html>';

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");

如果你想知道的不寻常的语法$var = <<<HTML \r\nHTML ,这是一个定界符 。 这只是更舒服,当你有很多的外国人内嵌代码使用here文档,这可能有变量{$varname}你不必担心行情。 所有你需要确保,是定界符接近HTML是一个新行,而不是缩进。

EDIT2

不过也不太清楚,你所使用的库。 我觉得这个扩展看起来相当不错,这就是所谓DOMPDF,就像你在你的问题说。

您的评论的最新指示,你没有解决您的问题,到目前为止,所以我决定添加一些更多的信息,让你的目标。

免责声明:我不打算写功能代码,我将对此进行测试,但下面的提示将你推到正确的方向,让您的东西做。

DOMPDF能够读取您的输入文档的CSS2和CSS3属性。

在每一个周期while上面的循环代表一个老师蒙山输出文档中的每个人得到一个自己的网页。

我把页面与类的div容器teacherPage 。 你可以用你希望显示的用于教师的信息填写此容器。

现在我们需要做的,就是要告诉每DOMPDF teacherPage是一个新的页面。 这是可以做到使用@page标记随CSS3

我增加了一个空的CSS容器<style type="text/css"></style>于示例文档上方,这其中的页面样式应该去。

这个例子CSS

@page teacher {
  size: A4 portrait;
  margin: 2cm;
}

.teacherPage {
   page: teacher;
   page-break-after: always;
}

随着@page您可以定义一个名为页teacher ,它可以有适用于整个页面容器的属性。

page-break-after: always将每个容器后,开始了新的一页

希望这有助于,有有趣的尝试:)



Answer 2:

显然,没有溢出的问题,结果以比纸张的允许保证金越多,你所能做的就是将数据从另一个表的父分离,它们之间放:

<div style="page-break-before: always;"></div>


文章来源: How to create several pages with dompdf