<body style="height: 100%;" onload="window.print();">
所以这是我在PHP中的代码,然后我回显html,但它只打印第一页。我发现的所有解决方案都说我应该将高度/宽度设置为100%,但仍然无法使用。
已经尝试过
body, html, #wrapper { width: 100%;
height:100%;
}
@media print { ... }
这是打印页的正文,您可以看到foreach
,这就是为什么在某些情况下它长于一页的原因。
为什么会这样?
<body onload="window.print();">
<div class="wrapper">
<section class="invoice">
<!-- title row -->
<div class="row">
<div class="col-xs-12">
<h2 class="page-header">
'.$company_info['company_name'].'
<small class="pull-right">Date: '.$order_date.'</small>
</h2>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class="row invoice-info">
<div class="col-xs-12 ">
<b>'.$this->lang->line('orderno').':</b> '.$order_data['bill_no'].'<br>
<b>'.$this->lang->line('customername').':</b> '.$name['customer_name'].'<br>
<b>'.$this->lang->line('customeradress').':</b> '.$name['customer_address'].' <br />
<b>'.$this->lang->line('customerphonenumber').':</b> '.$name['customer_phone'].'
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</br>
<!-- Table row -->
<div class="row">
<div class="col-xs-12 table-responsive">
<table class="table table-striped">
<thead>
<tr style="border:1px">
<th colspan="2"></th>
<th style="text-align:center" colspan="2">'.$this->lang->line('qty').'</th>
<th colspan="6"></th>
</tr>
<tr>
<th>'.$this->lang->line('productname').'</th>
<th>'.$this->lang->line('price').'</th>
<th>Commandée</th>
<th>à Livrer</th>
<th>'.$this->lang->line('vat').'</th>
<th>'.$this->lang->line('discount').'</th>
<th>'.$this->lang->line('amount').'</th>
</tr>
</thead>
<tbody>';
foreach ($orders_items as $k => $v) {
$product_data = $this->model_products->getProductData($v['product_id']);
setlocale(LC_MONETARY, 'en_US');
$html .= '<tr>
<td>'.$product_data['name'].'</td>
<td>'.number_format($v['rate'], 3).'</td>
<td>'.$v['qty'].'</td>
<td>'.$v['qty_liv'].'</td>
<td>'.$v['vat'].' %</td>
<td>'.$v['discount'].' %</td>
<td>'.number_format($v['amount'], 3).'</td>
</tr>';
if($v['free'] > 0){
$html .= '<tr>
<td>'.$product_data['name'].'</td>
<td>0</td>
<td>0</td>
<td>'.$v['free'].'</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>';
}
}
$html .= '</tbody>
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div class="row">
<div class="col-xs-6 pull pull-right">
<div class="table-responsive">
<table class="table">
<tr>
<th style="width:50%">'.$this->lang->line('grossamount').':</th>
<td>'.$order_data['gross_amount'].'</td>
</tr>';
$html .= '<tr>
<th>'.$this->lang->line('totalvat').':</th>
<td>'.$order_data['total_vat'].'</td>
</tr>';
$html .='
<tr>
<th>'.$this->lang->line('netamount').':</th>
<td>'.$order_data['net_amount'].'</td>
</tr>
<tr>
<th>'.$this->lang->line('status').':</th>
<td>'.$confiem_status.'</td>
</tr>
</table>
</div>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
</body>
在某些情况下,foreach会占用更多的页面,因此。
答案 0 :(得分:0)
您尝试过吗?:
3d-pages/views/show.html
您可以尝试更好地解释代码的用途,以及为什么要打印很多页面?
答案 1 :(得分:0)
这解释了一些使用CSS3 @media语法快速创建一组打印样式的基本思想。
当然,我们许多人现在完全忽略了打印样式。但是,创建简单的东西所需的精力相对较小,可以节省用户从他们可能不需要的页面上打印所有内容的麻烦。我最近为该网站添加了一些打印样式,因此希望这些样式对其他人有用:
首先,这些样式最好放在所有其他样式的末尾。这意味着由于CSS级联,它们被赋予更大的权重,并且不太可能被其他地方的其他规则覆盖。
首先,使用CSS3媒体查询,我们可以将样式指定为打印样式:
@media print {
/* styles go here */
}
答案 2 :(得分:0)
我已删除
<link rel="stylesheet" href="'.base_url('assets/dist/css/AdminLTE.min.css').'">
所以管理CSS是原因。