HTML使用一个对话框打印多个文档

时间:2017-01-26 22:10:13

标签: javascript html printing

我正在努力使网站达到当前标准并删除框架。我们有一个打印多个文档的页面。加载页面时,它会单独打印所有文档,但只会要求您选择一次打印机。这是代码的简化版本(已测试,正在运行)

<!DOCTYPE html>
<html>
<head>
    <title>Print test</title>

    <script>
        function printAll() {
            printAllForms.focus();
            if (window.print) {
                window.print();
            }
        }
    </script>
</head>
    <frameset rows="20%,*" id="printAllForms" onload="printAll()">
        <frame id="form1" src="page1.html">
        <frame id="form2" src="page2.html">
        <noframes>You need the frames</noframes>
    </frameset>
</html>

我认为使用iFrame可能会更好。根据其他类似的问题,我提出了这个问题:

<!DOCTYPE html>
<html>
<head>
    <title>Print test</title>

    <script>
        function printPage() {
            for (var k = 0; k < window.frames.length; k++) {
                window.frames[k].focus();
                window.frames[k].print();
            }
        }
    </script>
</head>
<body>
    <iframe id="form1" src="page1.html"></iframe>
    <iframe id="form2" src="page2.html"></iframe>

    <button id="btnPrint" onclick="printPage()">Print</button>
</body>
</html>

这很有效,但每次都会显示一个对话框。

我正在研究的另一种方法是使用数据加载DIV。它将打印为一个文档。如果用户正在双面打印并且存在具有奇数页数的文档,则这可能是一个问题。

非常感谢任何帮助。谢谢。

0 个答案:

没有答案