如何跳过浏览器的PDF预览 直接打印

总结一下如何跳过浏览器的PDF预览 直接打印

首先

      需要准备一个应用 : WebApp Hardware Bridge ; 下载地址是: https://github.com/imTigger/webapp-hardware-bridge/releases 具体下载那一个呢 就看自己的需求了 我下载的是 whb-0.13.0.exe 版本, 下载好之后一波无脑安装就好.安装好之后,进入下一个环节.

其次

      来到这个地址https://github.com/imTigger/webapp-hardware-bridge你可以通过git下载 也可以下载压缩包解压, 之后你会看到这样的目录![在这里插入图片描述](https://www.icode9.com/i/ll/?i=9d885c0b1ba34795a5ec102eac4b0ba6.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5a6d5LqM5Y-3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) 然后 点击 demo文件夹,选择websocket-pruinter.js文件,将这个文件放在你项目的js文件夹中,并在你需要跳过打印预览的页面引入这个js文件,然后使用你的编辑器打开printer-advanced.htm这个文件,你会在下面看到一系列的script就是这些:

		<script>
    var printService = new WebSocketPrinter({
        onConnect: function () {
            $('#status').val('Connected');
        },
        onDisconnect: function () {
            $('#status').val('Disconnected');
        },
        onUpdate: function (message) {
            $('#status').val(message);
        },
    });

    function printPDF() {
        // console.log(111);
        printService.submit({
            'type': 'INVOICE',
            'url': $('#url').val()
        });
    }

    function printPDFWithId() {
        printService.submit({
            'type': 'INVOICE',
            'id': new Date().getTime(),
            'url': $('#url').val()
        });
    }

    function printPDFWithQty() {
        printService.submit({
            'type': 'INVOICE',
            'qty': $('#qty').val(),
            'url': $('#url').val()
        });
    }


    function printPDFWithFallback() {
        if (printService.isConnected()) {
            printPDF();
        } else {
            alert('WebApp Hardware Bridge not running');
            window.open($('#url').val());
        }
    }
</script>

我需要的只有var printService = new WebSocketPrinter()printPDF()以及printPDFWithFallback()为了方便 我直接 整合了后面的两个方法

**我是这样子写的**
    function print_CCPU(url,width,height){
    if (printService.isConnected()) {
      printService.submit({
        'type': 'INVOICE',
        'url': JSRewriteUrl(url)
      });
    } else {
      TINY11.box.show('<iframe src='+  url +'  width='+ width +' height='+ height +' style=border:0></iframe>',0,0,0,1);
    }
  }

注意

由于我的url是生成PDF的php文件所以 我需要在伪静态和js中重写 这个文件的路由

然后

你可以在你的电脑的工具栏找到下载的软件的图标 ,然后右键单击 ,选择configurator 会出来一个界面,你只需要在右下角的框中选中正确的打印机就好

这样 跳过打印预览直接打印就实现了

上一篇:leetcode 653 两数之和IV 输入BST


下一篇:分享|2021行业数字化转型洞察系列报告之智能制造白皮书(附PDF)