JS 实现分页打印

2022-01-21 13:39:06 浏览数 (1)

在调用 window.print() 时,可以实现打印效果,但内容太多时要进行分页打印。

在样式中有规定几个打印的样式

page-break-beforepage-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式。

每个打印属性都可以设定4种设定值:auto、always、left和right。其中Auto是默认值,只有在有需要时,才需设定分页符号 (Page breaks)。

page-break-before 若设定成 always,则是在遇到特定的组件时,打印机会重新开始一个新的打印页。

page-break-before 若设定成left,则会插入分页符号,直到指定的组件出现在一个左边的空白页上。

page-break-before 若设定成right,则会插入分页符号,直到指定的组件出现在一个右边的空白页上。

page-break-after 属性会将分页符号加在指定组件后,而非之前。

在下列程序中您将可以看到这些属性的设定,

代码语言:javascript复制
<HTML>

  <HEAD>

    <TITLE>Listing 14-4</TITLE>

  </HEAD>

  <BODY>

    <DIV>This is the first DIV.</DIV>

    <DIV STYLE="page-break-before:always">This is the second DIV.</DIV>

    <DIV STYLE="page-break-after:always">This is the third DIV.</DIV>

    <DIV>This is the fourth DIV.</DIV>

    <DIV STYLE="page-break-before:right">This is the fifth DIV.</DIV>

    <DIV STYLE="page-break-after:right">This is the sixth DIV.</DIV>

    <DIV>This is the last DIV.</DIV>

  </BODY>

</HTML>
值描述

auto

默认值。如果必要则在元素前插入分页符

always

在元素前插入分页符

avoid

避免在元素前插入分页符

left

在元素之前足够的分页符,一直到一张空白的左页为止

right

在元素之前足够的分页符,一直到一张空白的右页为止

inherit

规定应该从父元素继承 page-break-before 属性的设置

在Dom对象中pageBreakBefore属性

语法

Object.style.pageBreakBefore=auto|always|avoid|left|right

代码语言:javascript复制
<html>

  <head>

    <script type="text/javascript">

      function setPageBreak()

      {

        document.getElementById("p2").style.pageBreakBefore="always";

      }

    </script>

  </head>

  <body>

    <p>This is a test paragraph.</p>

    <input type="button" onclick="setPageBreak()" value="Set page-break" />

    <p id="p2">This is also a test paragraph.</p>

  </body>

</html>

0 人点赞