所以... HTML 仍然让我很难过。我有一些代码可以打印出每个成员的订单报告,当我们将它们分发给交付订单的人时必须打印出来。问题是包含分页符的 div 是一大堆奇怪的大小,所以当我尝试打印报告时,格式非常奇怪。这有时会导致打印空白页,或者在两个不同页面的底部和顶部之间拆分顺序。
我想弄清楚如何让每个订单打印在它自己的页面上,就在页面的顶部,但是最后一个 div 没有按照我想要的方式工作。几个星期以来,我一直在尝试解决这个问题;有人能帮我吗?
这是页面的代码:
<style>
.first-time{
text-align: right;
color:#fff;
background: #a00;
}
.page-break {
display: block;
page-break-before: always;
}
.title th{
background: #6c6c6c;
color:#fff
}
</style>
<script>
</script>
<div class="reports">
<table cellpadding="0" cellspacing="0">
<?php $count_orders = 0 ?>
<?php $count_products = 0 ?>
<?php foreach ($sites as $site): ?>
<tr>
<th class="big" colspan="7"><?php echo $site ?></th>
</tr>
<?php foreach ($orders as $page_number => $order): ?>
<?php if ($order['Site']['name'] == $site): ?>
<tr class="title">
<th>First Name</th>
<th>Last Name</th>
<th>Address</th>
<th>City</th>
<th>Email</th>
<th>Phone</th>
<th>Site</th>
</tr>
<tr>
<td><strong><?php echo $order['Account']['first_name'] ?></strong></td>
<td><strong><?php echo $order['Account']['last_name'] ?> <span style="color:red"><?php echo ($order['Account']['homebound'] == 1)?'(homebound)':'';?></span></strong></td>
<td><?php echo $order['Account']['street1'].$order['Account']['street2'] ?></td>
<td><?php echo $order['Account']['city']?></td>
<td><?php echo $order['Account']['email'] ?></td>
<td><?php echo $order['Account']['phone'] ?></td>
<td><?php echo $order['Site']['name'] ?></td>
</tr>
<tr>
<th colspan="6">Product</th>
<th>Quantity</th>
</tr>
<?php foreach ($order['ProductType'] as $productType): ?>
<tr>
<td colspan="6"><?php echo $productType['type'] ?></td>
<td><?php echo $productType['OrdersProductType']['quantity']*$productType['units'] ?></td>
</tr>
<?php $count_products++ ?>
<?php endforeach ?>
<?php foreach ($order['Coupon'] as $coupon): ?>
<tr>
<td colspan="6">Coupon</td>
<td>-<?php echo $coupon['discount'] ?></td>
</tr>
<?php endforeach ?>
<?php $count_orders++ ?>
<input class='account-id' href='/Reports/firstTime' data-sale="<?php echo $order['Order']['sale_id'] ?>" type='hidden' name='data[Account][id]' value="<?= $order['Account']['id'] ?>" />
<tr></tr>
<tr><td style='border:none; padding:0;'><div class='page-break'></div></td></tr>
<?php endif ?>
<?php endforeach ?>
<?php endforeach ?>
</table>
其中大部分可能会被忽略,但我将其包括在内以防万一,因为我的 HTML 编码经验充其量是最少的。我主要是后端程序员,但是使用此报告的人不了解其中的区别,也不明白为什么我不能像在 Word 中那样添加分页符来修复它...