2016-06-22 9 views
1

私はLaravelを使用して、サイドバイサイド表示のために3つの他のテーブルがネストされた大きなテーブルを持つPDFレポートを作成しています。私はdomPDFが浮動をサポートしないことを知っているので、私はこれをしなければならなかった。私はポジショニングを使用することもできませんでした。なぜなら、これは最良のアイデアのように見えるので、ページ上に同じ要素の繰り返しがあるからです。私は、PDF内の複数のネストした表を持っている時はいつでもdomPDFネストされたテーブルの問題(右下のコーナーの円滑な空白)

しかし、この奇妙なことが起こります。私はこのオンラインへの解決策を見つけることができました

strange white space

ソースコード:

@foreach ($employees as $employee) 

      <table style="width: 100%; margin-top: 5px; border-bottom: 1px solid grey; margin-bottom: 5px;" border="0" cellspacing="0" cellpadding="5"> 
       <tbody> 
        <tr> 
         <td width="25%" style="background: lightgrey;">Name: <strong>{{$employee['info']->name}}</strong></td> 
         <td width="25%" style="background: lightgrey;">Mobile: <strong>{{$employee['info']->mobile}}</strong></td> 
         <td width="25%">Date: <strong>{{$inputs['date']}}</strong></td> 
         <td width="25%">Remarks:</td> 
        </tr> 
        <tr> 
         <td colspan="2"> 
          <table style="width: 100%;" border="1" cellpadding="5" cellspacing="0"> 
           <thead> 
            <tr> 
             <th colspan="3">Receive</th> 
            </tr> 
           </thead> 
           <tbody> 
            @if ($employee['given']->isEmpty()) 
             <tr> 
              <td colspan="2"></td> 
             </tr> 
            @else 
             @foreach ($employee['given'] as $tr) 

             <tr> 
              <td>{{ strtoupper($tr->category) }}</td> 
              <td style="text-align: right;">{{ App\Transaction::formatMoney($tr->amount) }}</td> 
             </tr> 

             @endforeach 
            @endif 
           </tbody> 
          </table> 
         </td> 
         <td colspan="2"> 
          <table style="width: 100%;" border="1" cellpadding="5" cellspacing="0"> 
           <thead> 
            <tr> 
             <th colspan="3">Return</th> 
            </tr> 
           </thead> 
           <tbody> 
            @if ($employee['returned']->isEmpty()) 
             <tr> 
              <td colspan="2"></td> 
             </tr> 
            @else 
             @foreach ($employee['returned'] as $tr) 

             <tr> 
              <td>{{ strtoupper($tr->category) }}</td> 
              <td style="text-align: right;">{{ App\Transaction::formatMoney($tr->amount) }}</td> 
             </tr> 

             @endforeach 
            @endif 
           </tbody> 
          </table> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <table style="width:100%" border="1" cellpadding="2" cellspacing="0"> 
           <tbody> 
            <tr> 
             <td>Total Receive</td> 
             <td style="text-align: right;">{{ App\Transaction::formatMoney($employee['given']->sum('amount')) }}</td> 
            </tr> 
            <tr> 
             <td>Total Return</td> 
             <td style="text-align: right;">{{ App\Transaction::formatMoney($employee['returned']->sum('amount')) }}</td> 
            </tr> 
            <tr style="background-color: {{ $employee['returned']->sum('amount') - $employee['given']->sum('amount') < 0 ? 'lightgrey' : '' }}"> 
             <td>Balance</td> 
             <td style="text-align: right;">{{ App\Transaction::formatMoney($employee['returned']->sum('amount') - $employee['given']->sum('amount')) }}</td> 
            </tr> 
            <tr> 
             <td>B2B</td> 
             <td style="text-align: right;">{{ App\Transaction::formatMoney($employee['b2b']) }}</td> 
            </tr> 
            <tr> 
             <td>Sale</td> 
             <td style="text-align: right;">{{ App\Transaction::formatMoney($employee['sale']) }}</td> 
            </tr> 
           </tbody> 
          </table> 
         </td> 
         <td></td> 
         <td></td> 
         <td></td> 
        </tr> 
       </tbody> 
      </table> 

     @endforeach 
+0

HTMLを作成するコードの代わりにHTMLを提供できますか? – BrianS

+0

関連するCSSも参考になるでしょう。 – BrianS

答えて

0

そのテーブルの列の実際の数は、これは明らかにいくつかのバグが唯一の2ですされている間、あなたのテーブルのヘッダが(「受信」と「戻る」)colspan="3"に設定されているように見えますテーブルのレンダリングに関する動作がありますが、colspanを2に設定すると、期待どおりにレンダリングされるはずです。

関連する問題