如何打印除当前文件之外的其他文件?

时间:2016-01-14 10:51:16

标签: javascript html printing window

我认为这个简单的设置可以使用并使用备用链接来打印test.pdf。但在打印预览中,我看到当前页面而不是test.pdf ???

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="alternate" media="print" href="http://localhost/mydomain.com/test/test.pdf">
        <script>
            window.print();
        </script>
    </head>
    <body>
        <div>TODO write content</div>
    </body>
</html>

[编辑] 我最接近的似乎只在Chrome中工作(我喜欢跳过打印预览和自动打印,但--kiosk似乎没有与下面的代码一起玩):

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <script src="js/jquery-2.2.0.min.js" type="text/javascript"></script>
        <script>
            jQuery(document).ready(function ($) {
                function print(url)
                {
                    var _this = this,
                            iframeId = 'iframeprint',
                            $iframe = $('iframe#iframeprint');
                    $iframe.attr('src', url);

                    $iframe.load(function () {
                        callPrint(iframeId);
                    });
                }

                //initiates print once content has been loaded into iframe
                function callPrint(iframeId) {
                    var PDF = document.getElementById(iframeId);
                    PDF.focus();
                    PDF.contentWindow.print();
                }
                print('http://localhost/mydomain.com/tests/test.pdf');
            });
        </script>
    </head>
    <body onload="">
        <div>TODO write content</div>
        <iframe id="iframeprint" src=""></iframe>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

您无法对pdf文件执行此操作。但是你可以对html文件执行此操作。

这样的事情:

function print() {
  var w = window.open('', 'width=400, height=400');
  w.document.body.innerHTML = "HTML";
  w.print();
}
<button onclick="print()">Print another file</button>

您可以在此处查看:http://output.jsbin.com/kefoxo

完整代码:(已在Google Chrome上测试)

http://jsbin.com/kefoxo/edit?html,js