简体   繁体   English

html到pdf问题-CSS转换比例和分页符问题

[英]html to pdf issue - problem with css transform scale and page-break

I'm writing a code to render PDF from HTML PDF. 我正在编写代码以从HTML PDF呈现PDF。 I'm using Dompdf to make a record of table. 我正在使用Dompdf来记录表。 And it is working for me. 它为我工作。 Here is the picture of my table: Table 1 这是我的桌子的图片: 表1

There is a trouble with my code. 我的代码有问题。 I can't display the whole data from table. 我无法显示表格中的全部数据。 I have already using CSS transform and page-break. 我已经在使用CSS转换和分页符。 Here is my code: 这是我的代码:

    <html>
    <head>
        <style type="text/css">


            .content {
                transform: scale(.56);
                margin-left:-30px;
                position:absolute;


            }

            table {
                border-collapse: collapse;
                border-spacing: 0;
                margin-bottom: 0;
                page-break-inside:auto;




            }

            table tr:nth-child(2n-1) td {
                background-color: #ffffff;
                border:1px solid black;
                page-break-inside:auto;


            }
            table th {
                padding: 0px;
                white-space: normal;        
                font-weight: normal;
                border:1px solid black;
                page-break-inside:auto;
            }
            table td {
                padding: 0px;
                white-space: normal;
                text-align: center;
                border:1px solid black;
                page-break-inside:auto;
            }

            @media print {
                    body {
                        margin-top: 100cm;
                        page-break-after: always;
                        display: inline;
                    }


        </style>

    </head>

    <body>

        <div class="content">
            <table>
                <thead>
                    <tr>
                        <th  rowspan="2" style="width: 20px">#</th>  
                        <th colspan="8" style="text-align: center;width: 500px">Tanggal - Jam</th>
                        <th rowspan="2" style="text-align: center;width: 50px">No PO</th>
                        <th rowspan="2" style="text-align: center;width: 50px">No DO</th>
                        <th rowspan="2" style="text-align: center;width: 150px">No BM</th>
                        <th rowspan="2" style="text-align: center;width: 150px">No SJ</th>
                        <th rowspan="2" style="text-align: center;width: 50px">No Unit</th>
                        <th rowspan="2" style="text-align: center;width: 50px">No Polisi</th>                        
                        <th rowspan="2" style="text-align: center;width: 80px">Nama Konsumen</th>
                        <th rowspan="2" style="text-align: center;width: 80px">Jenis Kendaraan</th>
                        <th rowspan="2" style="text-align: center;width: 80px">Nama Supir</th>
                        <th rowspan="2" style="text-align: center;width: 80px">Jenis Transaksi</th>
                        <th rowspan="2" style="text-align: center;width: 80px">Nama Material</th>
                        <th colspan="2" style="text-align: center;width: 80px">Jumlah</th>
                        <th rowspan="2" style="text-align: center;width: 60px">Material (Rp.)</th>
                        <th rowspan="2" style="text-align: center;width: 60px">CSR (Rp.)</th>
                        <th rowspan="2" style="text-align: center;width: 60px">ATP (Rp.)</th>
                        <th rowspan="2" style="text-align: center;width: 60px">Total (Rp.)</th>
                        <th rowspan="2" style="text-align: center;width: 50px">Proyek</th>
                        <th rowspan="2" style="text-align: center;width: 100px">Tujuan</th>
                    </tr>
                    <tr>
                        <th colspan="2" style="text-align: center"> Masuk</th>
                        <th colspan="2" style="text-align: center"> Produksi</th>
                        <th colspan="2" style="text-align: center"> Timbang</th>
                        <th colspan="2" style="text-align: center"> Keluar</th>
                        <th style="text-align: center"> K </th>
                        <th style="text-align: center"> T </th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    $no = 0;
                    foreach ($list_data as $data) {
                        $no++;
                        $tonasesatuan = $data['netto'] / 1000;
                        ?>
                        <tr>
                            <td><?php echo $no; ?></td>
                            <td><?php echo date_dmy($data['tanggal']); ?></td>
                            <td><?php echo date_time($data['tanggal']); ?></td>
                            <td><?php echo date_dmy($data['tanggal_produksi']); ?></td>
                            <td><?php echo date_time($data['tanggal_produksi']); ?></td>
                            <td><?php echo date_dmy($data['tanggal_out']); ?></td>
                            <td><?php echo date_time($data['tanggal_out']); ?></td>
                            <td><?php echo date_dmy($data['tanggal_timbang']); ?></td>
                            <td><?php echo date_time($data['tanggal_timbang']); ?></td>
                            <td><?php echo $data['no_po']; ?></td>
                            <td><?php echo $data['no_do']; ?></td>
                            <td><?php echo $data['no_bm']; ?></td>
                            <td><?php echo $data['no_sj']; ?></td>
                            <td><?php echo getLabelIndex($data['nopol'], 'no_unit'); ?></td>
                            <td><?php echo $data['nopol']; ?></td>
                            <td style="text-align: center"><?php echo $data['nama_konsumen']; ?></td>
                            <td><?php echo $jeniskendaraan = strtoupper($data['jenis_kendaraan']); ?></td>
                            <td><?php echo $data['supir']; ?></td>
                            <td><?php echo $data['jenis_transaksi']; ?></td>
                            <td><?php echo $data['nama_material']; ?></td>
                            <td><?php echo $kubikasi = number_format($data['hasil'], 2, '.', ','); ?> m<sup>3</sup></td>
                            <td><?php echo $netto = number_format($tonasesatuan, 2, '.', ','); ?> Ton</td>
                            <td style="text-align: right"><?php echo number_format($data['total_material']); ?></td>
                            <td style="text-align: right"><?php echo number_format($data['csr']); ?></td>
                            <td style="text-align: right"><?php echo number_format($data['atp']); ?></td>
                            <td style="text-align: right"><?php echo number_format($data['total_bayar']); ?></td>
                            <td><?php echo getLabelNamaProyek($data['proyek'], 'nama_proyek'); ?></td>
                            <td><?php echo $data['tujuan']; ?></td>
                        </tr>
                        <?php
                        $tronton += $jeniskendaraan == 'TRONTON';
                        $colt += $jeniskendaraan == 'COLT DIESEL';
                        $engkel += $jeniskendaraan == 'ENGKEL';
                        $pick += $jeniskendaraan == 'PICK UP';
                        $totkubikasi += $kubikasi;
                        $totnetto += $tonasesatuan;
                        $no;
                        $kubik = $totkubikasi / $no;
                        $ton = $totnetto / $no;
                    }
                    ?>
                </tbody>
                <tfoot>

                </tfoot>
            </table>
            <br>
            <br>
            <table>
                 <tfoot>
                    <tr>
                        <td style="text-align: center; color: red;"> #</td>
                        <td colspan="8" style="text-align: center; color: red;"> TOTAL ARMADA</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo round($tronton, 2); ?> TRONTON</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo round($colt, 2); ?> COLT DIESEL</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo round($engkel, 2); ?> ENGKEL</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo round($pick, 2); ?> PICK UP</td>
                    </tr>
                    <tr>
                        <td style="text-align: center; color: red;"> #</td>
                        <td colspan="8" style="text-align: center; color: red;"> TOTAL KUBIKASI</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo number_format($totkubikasi, 2, '.', ','); ?> m<sup>3</sup></td>
                        <td colspan="4" style="text-align: center; color: red;"> TOTAL TONASE</td>
                        <td colspan="8" style="text-align: center; color: red;"><?php echo number_format($totnetto, 2, '.', ','); ?> Ton</td>
                    </tr>
                    <tr>
                        <td style="text-align: center; color: red;"> #</td>
                        <td colspan="8" style="text-align: center; color: red;">RATA - RATA KUBIKASI</td>
                        <td colspan="4" style="text-align: center; color: red;"><?php echo number_format($kubik, 2, '.', ','); ?> m<sup>3</sup></td>
                        <td colspan="4" style="text-align: center; color: red;">RATA - RATA TONASE</td>
                        <td colspan="8" style="text-align: center; color: red;"><?php echo number_format($ton, 2, '.', ','); ?> Ton</td>
                    </tr>
                </tfoot>
            </table>
        </div>
    </body>
    </div>
</head>
</html>

I have to add another page on it, but it seems hard for me after days of trial and error. 我必须在上面添加另一页,但是经过几天的反复试验,这对我来说似乎很难。 Please, could anybody help me? 拜托,有人可以帮我吗?

从content类的div中删除绝对值后,请尝试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM