浏览器打印自动分页单据笔记 - ZKUI

Nothing is impossible

浏览器打印自动分页单据笔记

使用CSS定义打印的样式

取消页眉页脚的形式打印,然后在页面头尾添加元素模拟页眉页脚

<style media="print">
 @page {
            size: auto;
            margin: 0mm;
        }
        .noprint{display:none;}
        .print{display:block;}
</style>

JSP页面打印时数据自动分页

计算后台获取的单据信息集合分页后的总页数,c:forEach遍历数据
一页显示12条记录pageSize=12pageTotal=总页数

<!-- 页面显示部分 -->
<div class="noprint">
  ···
</div>
<!-- 需要打印的部分(隐藏) -->
<div class="print hidden">
  <c:forEach begin="0" end="${pageTotal - 1}" varStatus="i">
    <!-- 自定义页头 -->
    <div class="printHeader">···</div>
    <!-- 主体内容 -->
    <div class="printBody">
      <c:forEach items="${gsList}" begin="${i.index*pageSize}" end="${i.index*pageSize+pageSize-1}" var="gs" varStatus="status">
      </c:forEach>
    </div>
    <!-- 自定义页尾 -->
    <div class="printFooter">···</div>

    <c:if test="${i.index ne pageTotal - 1}">
    <!-- 精确分页(需要分页的地方) -->
    <div style="page-break-after: always;"></div>
    </c:if>
  </c:forEach>
</div>

关于media="print"
关于CSS page-break-after 属性

分享
1 条评论