2016-11-07 1 views
0

Essayer de créer une facture PDF en utilisant le wrapper laravel dompdf de barryvdh. Je veux que la facture commence sur une nouvelle page lorsqu'un certain nombre de lignes est atteint. Cependant, je ne suis pas sûr de la façon de le faire puisque je n'obtiens pas les résultats attendus. Voici mon contrôleur:Le saut de page de Laravel & laravel-dompdf montre seulement la 1ère page

function invoice() { 

     $resellerId = Input::get('resellerId'); 
     $startdate = Input::get('invoiceStartDate'); 
     $enddate = Input::get('invoiceEndDate'); 

     $orders = \App\order::where('reseller',1)->orderBy('date', 'desc')->where('customer_id' , $resellerId)->where('date', '>=',$startdate)->where('date', '<=',$enddate)->get(); 

      $pdf = PDF::loadView('pdf.invoicePrint',['orders' => $orders]);      
      // $PDFOutput = $pdf->output(); 
      return $pdf->stream("trestaki.pdf"); 
} 

Et voici la partie pertinente de la lame:

<table style="border:1px solid #000;width: 100%;"> 
     <tr> 
     <td> 
      <span style="font-size: 14px;font-weight: 900;">Art. Nr.</span> 
    </td><td> 
      <span style="font-size: 14px;font-weight: 900;">Benämning</span> 
     </td><td> 
      <span style="font-size: 14px;font-weight: 900;">Antal</span> 
    </td><td> 
      <span style="font-size: 14px;font-weight: 900;">Pris</span> 
     </td><td> 
      <span style="font-size: 14px;font-weight: 900;">Summa</span> 
     </td></tr> 
    <?php $i=0; ?> 
    @foreach($orders as $order) 
    <tr> 
     <td>{{ $order->order_id }}</td> 
     <td>{{ $order->getProduct->mobile }} {{ $order->getProduct->model }}</td> 
     <td>1</td> 
     <td>{{ $order->price }}</td> 
     <td>{{ $order->price }}</td> 
    </tr> 
    <?php 

    $i++; 
    if($i % 25 == 0) 
     echo "<div style='page-break-after: always;'></div>"; 

    ?> 

    @endforeach 
    <tr> 
     <td colspan=5 style="padding-top: 20px;"> 
      <table style="width: 45%;"> 
      <tr> 
       <td> 
        <span style="font-size: 14px;font-weight: 900;">Moms %</span> 
       </td> 
       <td> 
        <span style="font-size: 14px;font-weight: 900;">Netto</span> 
       </td> 
       <td> 
        <span style="font-size: 14px;font-weight: 900;">Moms</span> 
       </td> 
       <td> 
        <span style="font-size: 14px;font-weight: 900;">Summa</span> 
       </td>     
      </tr>  
      <tr> 
       <td>25%</td> 
       <td>639,20</td> 
       <td>159,80</td> 
       <td>799,00</td> 
      </tr> 
      </table> 
     </td> 
    </tr> 
    </table> 

La chose est que si je supprime toutes les balises de fermeture de l'écho, le temps de la page Web sur.

Répondre

0

Le problème était la position fixe du div principal. Après l'avoir enlevé, la page s'est cassée correctement.