首页 文章

自动打开PDF文件的打印机对话框

提问于
浏览
4

我知道有办法将PDF打印到与服务器位于同一网络的网络打印机,但这对我没有帮助,因为服务器是远程的 . 在我的情况下,用户单击“打印标签”的链接,然后生成并输出为其格式化的PDF文件 . 我目前将文件输出“流”到浏览器,以便Adobe Reader使用以下代码自动打开它:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-type: application/pdf");
header('Content-Disposition: attachment; filename="labels.pdf"');
readfile($ServerPathToFile);

还有什么我可以添加到这个代码,将自动触发打印对话框打开,以便他们只需要点击打印?在这种情况下,Google CloudPrint不是一个选项,也不是用户端需要“特殊设置”的其他东西......因为这将被各种用户使用 .

2 回答

  • 0

    您可以将PDF输出到同一域上的子窗口( <iframe> ),然后在该窗口上调用 window.print() .

    <p>Don't forget to print your document!</p>
    <iframe src="/path/to/your/pdfgenerator.php" id="mypdf"></iframe>
    
    <script>
    function printIframe(id) {
        var iframe = document.frames ? document.frames[id] : document.getElementById(id);
        var ifWin = iframe.contentWindow || iframe;
        iframe.focus();
        ifWin.printPage();
        return false;
    }
    </script>
    

    在iframe页面中,添加以下内容:

    function printPage() {
        print();
    }
    
  • 3

    我刚刚开始了一个项目,它将标签从浏览器打印到网络上的dymo标签打印机 . 你必须用javascript做到这一点 . 我使用了Dymo的SDK并创建了我自己的自定义界面,以便在人员在自助服务终端注册时自动打印名称标签 . 徽章的名称然后在主要的登记站等待他们 .

    我使用的srcipt只需要安装在服务器上,网络中的所有其他人都可以打印到网络打印机 .

相关问题