0

我使用 CGridView 从数据库查询中呈现结果(发票行)。这是在 html 页面内完成的,该页面稍后会使用和打印<div>转换为 PDF 。wkhtmltopdf问题是今天我不支持分页符,因此如果发票行数大于 10,则其余行不可见。我不能让 div 流动,因为我有一个绝对位置不能移动的发票页脚。

有没有办法强制分页并继续在单独的页面上呈现行?

下面是使用的 CGridView 代码的一部分。

<...plenty of html---->
<div class="invoiceRow">
<?php

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider' => $dpRows,
    'cssFile' => Yii::app()->request->baseUrl . '/css/invoice.css',
    'summaryText' => '',
    'enablePagination' => false,
    'columns' => array(
        'number',
        'name',
        'description',
        'amount',
        array (
            'name'=>'value',
            'header' => 'netprice',
            'value' => 'number_format($data->value,2,","," ")'
        ),
    ));
?>
</div>
<---more html ----->
4

2 回答 2

0

如果 wkhtml 能够解析 css(看起来如此),您可以尝试:

<div style="page-break-after:always">
    //X invoices here
</div>
于 2012-06-05T23:28:05.597 回答
0

if(!empty($model))
{
if($model->content_type==1)
{
    $sentences = explode ('<div style="page-break-after: always;"><span style="display:none">&nbsp;</span></div>',$model->content);
    ?>
    <div id="datashow">
        <?php
        echo $sentences[0];
        ?>
    </div>
    <?php
    $dummy=array();
    $kcnt=preg_match_all('/page-break-after: always/', $model->content,$dummy);
    // echo $model->content;
}



<script>
    $("#pagebreakdiv").find(":button").click(function () {
        var datashow=$('#datashow');
        var a=this.value;
        var bid='<?php echo $bid; ?>';
        var id='<?php echo $id; ?>';
        var pdata = {};
        pdata["bitt"] = a;
        pdata["bid"] = bid;
        pdata["id"] = id;
        $.ajax(
            {
                url : "<?php echo Yii::app()->request->baseUrl; ?>/UserSimple/Contentpagebreak",
                type: "POST",
                data : pdata,
                success:function(data, textStatus, jqXHR)
                {
                    datashow.html(data);
                },
                error: function(jqXHR, textStatus, errorThrown)
                {

                }
            });
    });
</script>
于 2014-09-08T08:46:13.693 回答