javaScript 连接打印机,打印小票的实例

要实现 JavaScript 连接打印机,打印小票的功能,可以借助 JavaScript 打印插件JSPrintManager。

JSPrintManager 是一个完全跨平台和打印技术无关的 JavaScript 打印客户端(打印机驱动程序),可通过扩展 Web 端点管理打印机及其设置,生成和打印 ZPL、EPL、ESC/POS、HTML、PDF、PNG、JPEG、GIF、TIFF、TXT 等格式的打印工作。

下面是实现“javaScript 连接打印机,打印小票”的攻略:

步骤一:引入JSPrintManager插件

在HTML页面的 标签中嵌入以下代码:

<!--加载JSPrintManager.js文件及它的相关依赖项-->
<script src="js/numeral.min.js"></script>
<script src="js/jQuery.min.js"></script>
<script src="js/JSPrintManager.js"></script>

步骤二:设置打印机

在 JavaScript 中添加以下代码:

var myPrinter = null;
// 打印机设置
function doPrinterSettings() {
    // 确定选择的打印机名称,可在页面中选择
    var printerName = $("#cmbInstalledPrinters").val();
    if (printerName === "") {
        alert("请选择打印机!");
        return;
    }

    myPrinter = new JSPM.ClientPrint(myPrinters);
    myPrinter.clientPrinter = new JSPM.DefaultPrinter(printerName);
    myPrinter.sendToClient();
}

步骤三:生成小票

在 JavaScript 中添加以下代码:

// 生成小票
function doPrint() {
    if (myPrinter === null) {
        alert("请先选择打印机!");
        return;
    }

    // 生成小票内容
    var mainContent = "<div><h4>小票标题</h4></div>";
    mainContent += "<div>顾客:张三 先生</div>";
    mainContent += "<div>桌号:3</div>";
    mainContent += "<div>订单号:16095656</div>";
    mainContent += "<div>订单金额:100元</div>";

    var job = new JSPM.PrintJob();
    job.clientPrinter = myPrinter.clientPrinter;

    var htmlContent = "<!DOCTYPE html>" +
                      "<html>" +
                      "<head>" +
                      "<title>小票打印</title>" +
                      "<link rel='stylesheet' href='css/bootstrap.min.css'>" +
                      "</head>" +
                      "<body>" +
                      mainContent +
                      "</body>" +
                      "</html>";

    job.content.push(new JSPM.PrintContent.RawHTML(htmlContent));

    // 同步打印
    job.sendToClient();
}

以上是一个简单的示例,具体生成小票内容可以根据实际需要修改。

示例1:最简单的小票生成代码:

var myPrinter = null;

function doPrint() {
    if (myPrinter === null) {
        alert("请先选择打印机!");
        return;
    }

    var job = new JSPM.PrintJob();
    job.clientPrinter = myPrinter.clientPrinter;

    var htmlContent = "<div><h1>Hello World!</h1></div>";

    job.content.push(new JSPM.PrintContent.RawHTML(htmlContent));

    job.sendToClient();
}

function doPrinterSettings() {
    var printerName = $("#cmbInstalledPrinters").val();
    if (printerName === "") {
        alert("请选择打印机!");
        return;
    }

    myPrinter = new JSPM.ClientPrint(myPrinters);
    myPrinter.clientPrinter = new JSPM.DefaultPrinter(printerName);
    myPrinter.sendToClient();
}

示例2:将小票打印成 PDF 文件

var myPrinter = null;

function doPrint() {
    if (myPrinter === null) {
        alert("请先选择打印机!");
        return;
    }

    var job = new JSPM.PrintJob();
    job.clientPrinter = myPrinter.clientPrinter;

    var htmlContent = "<div><h1>Hello World!</h1></div>";

    // 将小票转为 PDF
    var pdfContent = new JSPM.PrintContent.RawHTML(htmlContent);
    pdfContent.format = JSPM.PrintContent.Format.PDF;

    job.content.push(pdfContent);

    // 异步打印
    job.sendToClient().then(function (job) {
        // 下载 PDF 文件
        job.download();
    });
}

function doPrinterSettings() {
    var printerName = $("#cmbInstalledPrinters").val();
    if (printerName === "") {
        alert("请选择打印机!");
        return;
    }

    myPrinter = new JSPM.ClientPrint(myPrinters);
    myPrinter.clientPrinter = new JSPM.DefaultPrinter(printerName);
    myPrinter.sendToClient();
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javaScript 连接打印机,打印小票的实例 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码

    首先我们需要了解一下如何在ASP.NET中使用jQuery和AJAX。在ASP.NET中,我们可以使用JavaScriptSerializer对象将对象序列化为JSON格式,然后将其返回给客户端。 以下是实现无刷新分页的详细流程和实例代码: 第一步:添加必要的JavaScript库 我们需要在网站中添加jQuery和Ajax的库文件。可以手动下载这些库文件并…

    Java 2023年5月19日
    00
  • Java源码解析ArrayList及ConcurrentModificationException

    Java中的ArrayList是一个实现了List接口的动态数组,可以自动扩容。ArrayList提供了很多方便的方法,可以让我们对数组进行快速的操作。但是,在多线程环境下,操作ArrayList时容易抛出ConcurrentModificationException异常。下面是一个完整攻略,来详细讲解如何解析ArrayList和ConcurrentModi…

    Java 2023年5月26日
    00
  • JAVA中string数据类型转换详解

    JAVA中string数据类型转换详解 在Java中,我们经常需要对数据类型进行转换以满足特定的需求。其中,String类型的转换是非常常见的操作。 String类型转换为基本数据类型 在Java中,String类型可以通过方法调用将其转换为基本数据类型。以下是一些常见的String到基本数据类型转换方法: 1. parseInt()方法 该方法将Strin…

    Java 2023年5月27日
    00
  • Java的Struts框架报错“NullRequestProcessorException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NullRequestProcessorException”错误。这个错误通常由以下原因之一起: 配置错误:如果配置文件中没有正确配置,则可能会出现此错误。在这种情况下,需要检查文件以解决此问题。 请求处理器:如果请求处理器不正确,则可能出现此错误。在这种情况下,需要检查请求处理器以解决此问题。 以下是两个实例…

    Java 2023年5月5日
    00
  • 基于java实现websocket代码示例

    以下是基于Java实现WebSocket的完整攻略。 WebSocket的背景与基本概念 WebSocket是一种在单个TCP连接上进行全双工通信的协议。这意味着服务器可以向客户端发送消息,而客户端也可以向服务器发送消息,并且在连接建立后,双方可以随时发送消息。 WebSocket协议基于HTTP协议进行握手。握手后,通信双方就可以像Socket一样相互发送…

    Java 2023年5月19日
    00
  • IDEA 集成log4j将SQL语句打印在控制台上的实现操作

    实现IDEA集成log4j将SQL语句打印在控制台上的操作,需要按照下面的步骤进行: 第一步:添加log4j依赖 1.在pom.xml文件中添加以下依赖: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifa…

    Java 2023年5月26日
    00
  • Spring Boot 整合 Fisco Bcos的案例分析(区块链)

    下面是 “Spring Boot 整合 Fisco Bcos的案例分析(区块链)” 的完整攻略。 什么是 Fisco Bcos Fisco Bcos 是由中国金融专家打造的一个区块链平台,具有高可用性、高扩展性和高安全性。 Spring Boot 整合 Fisco Bcos 步骤一:在本地安装 Fisco Bcos 在本地安装 Fisco Bcos,详细步骤…

    Java 2023年5月19日
    00
  • 使用Maven打包时包含资源文件和源码到jar的方法

    下面我将详细讲解使用Maven打包时包含资源文件和源码到jar的方法。 1. 配置maven-assembly-plugin插件 首先需要在项目的pom.xml文件中添加maven-assembly-plugin插件的配置。 <build> <plugins> <plugin> <groupId>org.apa…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部