<template>
<div>
<div v-if="ifShow">
<div v-for="(item, i) in list" :key="i">
<div :id="item.spbh">
<div
width="100%"
border="0"
cellpadding="0" (这段属性实现分页)
cellspacing="0"
style="page-break-after:always"
>
<t3-sp-form :template-data="item.templateData" :template-text="item.templateText"></t3-sp-form>
</div>
</div>
</div>
</div>
</div>
</template>
var that = this
// 大小设置
var pw = window.open('', '', 'width=800,height=600')
pw.document.write('<html>')
pw.document.write('<head>')
pw.document.write('<title>表</title>')
pw.document.write('</head>')
pw.document.write('<body>')
for (let i in this.list) {
pw.document.write(document.getElementById(this.list[i].spbh).innerHTML)
}
pw.document.write('</body>')
pw.document.write('</html>')
pw.document.close()
setTimeout(function () {
// 调用print
pw.print()
}, 2000)
// 监听 window.open关闭
var loop = setInterval(function () {
if (pw.closed) {
clearInterval(loop)
that.$emit('updatePage', '')
that.$emit('closeLaxxb', '')
}
}, 1000)
this.ifShow = false
return false
},
window.open(`/edit/tab/laxx?bh=${row.bhAj}&ywlx=${row.ywlx}&jbfy=${row.jbfy}`)
Pagebreak:在打印的时候强迫在样式控制的对象前后换页。
Before:设置对象前出现的页分割符。设置为always时,始终在对象之前插入页分割符。相对应的CSS属性是”page-break-before”。
After:设置对象后出现的页分割符。设置为always时,始终在对象之后插入页分割符。相对应的CSS属性是”'>。
在调用window.print()时,可以实现打印效果,但内容太多时要进行分页打印。
在样式中有规定几个打印的样式
page-break-before和page-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属性会将分页符号加在指定组件后,而非之前。
auto | 默认值。如果必要则在元素前插入分页符 |
always | 在元素前插入分页符 |
avoid | 避免在元素前插入分页符 |
left | 在元素之前足够的分页符,一直到一张空白的左页为止 |
right | 在元素之前足够的分页符,一直到一张空白的右页为止 |
inherit | 规定应该从父元素继承 page-break-before 属性的设置 |
在Dom对象中pageBreakBefore属性
语法:
Object.style.pageBreakBefore=auto|always|avoid|left|right
<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>