如何在javascript中对多段HTML文件的打印进行排队?
上图显示了html文件的不同部分,表示应单独打印的单个页面。是否存在将打印顺序从javascript分别排队到每个div元素的内容的方法 CSS:如何在javascript中对多段HTML文件的打印进行排队?,javascript,html,css,printing,Javascript,Html,Css,Printing,上图显示了html文件的不同部分,表示应单独打印的单个页面。是否存在将打印顺序从javascript分别排队到每个div元素的内容的方法 CSS: .AMini { height:70mm; width:50mm; background-color: white; border: 5px solid black; margin: 10px; float:left; } HTML: <div class="AMini"> <
.AMini
{
height:70mm;
width:50mm;
background-color: white;
border: 5px solid black;
margin: 10px;
float:left;
}
HTML:
<div class="AMini">
<h1>Page 1</h1>
</div>
<div class="AMini">
<h1>Page 2</h1>
</div>
<div class="AMini">
<h1>Page 3</h1>
</div>
第1页
第2页
第3页
使用打印
媒体查询,并结合分页符后的分页符
,您应该能够为打印机定义一种样式,将三个div堆叠起来并在它们之间放置分页符
比如:
@media print
{
body *
{
visibility: hidden;
}
.AMini, .AMini *
{
visibility: visible;
}
.AMini
{
page-break-after: always;
float: none;
position: absolute;
display:block;
}
}
您可以尝试一种方法,将每个
div
指定为一个名为hidden
的类,然后在CSS中使其可见性:hidden代码>。接近页面底部时(可以使用JavaScript和/或JQuery找到),然后使用JavaScript将可见性设置为可见:document.getElementById('page1div')。style.visibility='visible'
。您甚至可以使用JQuery来制作动画
这是另一种方法:
<style>
.break { page-break-before: always; }
</style>
<body>
content on page 1...
<h1 class="break">text of Heading 1 on page 2</h1>
content on page 2...
<h1 class="break">text of Heading 1 on page 3</h1>
content on page 3...
<p class="break">content on top of page 4</p>
content on page 4...
</body>
.break{之前的分页符:始终;}
第1页的内容。。。
第2页标题1的文本
第2页的内容。。。
第3页标题1的文本
第3页的内容。。。
第4页顶部的内容
第4页的内容。。。
在这里,页面被打断,并且一次显示所有页面。我不确定你指的是什么,但这些会有用的
祝你好运 你是不是在谈论分页符??我想那就行了。当我使用导出为pdf或查看打印预览时。它把书页吐了出来。但是还有一个额外的空白页。可能是因为我们在这里使用了分页符。无论如何,我们可以删除最后一个空白页?我们可以在最后一个div中添加一个类,并将后的分页符重置为自动。或者,如果最后一个div是最后一个子元素,如果您不介意的话,我们可以添加一个使用:last child
的规则。我正在尝试构建一个动态报表生成器,报表大部分是静态内容,但有些部分将通过一些表单从用户处获取的输入进行动态更改。所以我希望报告的每一部分都单独打印。我的方法正确吗,或者你可以提出更好的建议听起来是个明智的做法。这就是打印媒体查询和分页符的作用:)