Отображение больших данных и правильное разбиение на новую страницу с помощью dompdf laravel - PullRequest
0 голосов
/ 07 ноября 2018

Итак, я работаю над проектом (laravel 5.6), и мне нужно экспортировать результаты студентов в pdf (dompdf). Я показываю результаты 29 студентов на странице, после чего я хочу перейти на новую страницу. Я успешно достиг этого, используя код ниже:

<div>
  <table border="1" style="width: 100%; border-collapse: collapse; border: 1px; height: 2em; font-size: 0.9em;">
    <thead style="text-align: center;">
      <tr>
         <th>S/N</th>
         <th>MATRIC NO</th>
         <th>STUDENT NAME</th>
         <th>EXAM</th>
         <th>CA</th>
         <th>TOTAL</th>
         <th>GRADE</th>
      </tr>
   </thead>
   <tbody>
        <?php $sn = 1 ?>
        <?php $n = 1 ?>
        @foreach($results as $result)
          <tr style="text-align: center;">
            <td>{{ $sn }}.</td>
            <td width="20%">{{ $result->matric_no }}</td>
            <td width="25%">{{ $result->last_name }} {{ $result->first_name }} {{ $result->middle_name }}</td>
            <td width="8%">{{ $result->score }}</td>
            <td width="10%">{{ $result->ca }}</td>
            <td>{{ ($result->score + $result->ca) }}</td>
            <td>{{ calculateGrade($result->score + $result->ca) }}</td>
          </tr>

          <?php $sn++ ?>
          @if($n % 29 == 0)
             <div style="page-break-before: always;"></div>
          @endif

          <?php $n++ ?>
       @endforeach
   </tbody>
  </table>
</div>

Моя проблема заключается в следующем: Граница с правой стороны не отображается должным образом , как показано здесь и когда она переходит на новую страницу, первая строка не отображается должным образом . Что я делаю не так?

Это мой CSS:

<style>
        #background{
            position:absolute;
            z-index:0;
            background:white;
            display:block;
            min-height:50%;
            min-width:50%;
            color:yellow;
        }

        #content{
            position:absolute;
            z-index:1;
        }

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

        #bg-text {
            color:lightgrey;
            font-size:120px;
            transform:rotate(300deg);
            -webkit-transform:rotate(300deg);
             z-index:  -20000;
        }
        .pagenum:before {
            content: counter(page);
        }

        .footer {
            width: 100%;
            text-align: center;
            position: fixed;
            bottom: 0px;
        }

        table thead tr td{
            page-break-inside: avoid !important;
        }
    </style>

Заранее спасибо за помощь.

...