如何在javascript中对多段HTML文件的打印进行排队?

如何在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"> <

上图显示了html文件的不同部分,表示应单独打印的单个页面。是否存在将打印顺序从javascript分别排队到每个div元素的内容的方法

CSS:

.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
的规则。我正在尝试构建一个动态报表生成器,报表大部分是静态内容,但有些部分将通过一些表单从用户处获取的输入进行动态更改。所以我希望报告的每一部分都单独打印。我的方法正确吗,或者你可以提出更好的建议听起来是个明智的做法。这就是打印媒体查询和分页符的作用:)