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

yizhihongxing

要实现 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日

相关文章

  • java实现微信公众号扫一扫

    Java实现微信公众号扫一扫攻略 微信公众平台提供了扫一扫功能,可以实现用户扫描二维码并获取相关信息。本文将讲解如何使用Java实现微信公众号扫一扫功能,步骤如下: 步骤1:注册微信公众平台账号 如果还没有微信公众平台的账号,请前往微信公众平台官网进行注册。注册完毕后,会得到一个AppID和AppSecret,这二者是使用微信API的重要凭证。 步骤2:生成…

    Java 2023年6月15日
    00
  • Spring MVC入门_动力节点Java学院整理

    以下是关于“Spring MVC入门_动力节点Java学院整理”的完整攻略,其中包含两个示例。 Spring MVC入门 Spring MVC是Spring框架的一个模块,它是一个基于MVC(Model-View-Controller)架构的Web框架,用于构建Web应用程序。本攻略将介绍Spring MVC的基本概念、执行流程和使用方法。 1. Sprin…

    Java 2023年5月16日
    00
  • jpa多数据源时Hibernate配置自动生成表不生效的解决

    下面是详细讲解“jpa多数据源时Hibernate配置自动生成表不生效的解决”的完整攻略。 背景 在使用JPA进行多数据源配置时,我们可能会遇到一个问题:配置了Hibernate自动生成表的语句,但是在应用启动时并没有执行SQL脚本,表也没有自动创建出来。这可能让人感到困惑,本文提供了一个可行的解决方案。 问题分析 首先,我们需要明确一点,如果在单数据源的情…

    Java 2023年5月20日
    00
  • windows系统配置Java开发环境变量

    下面我将详细讲解在Windows系统上配置Java开发环境变量的完整攻略,包括以下内容: 下载Java JDK 安装Java JDK 配置Java环境变量 验证Java环境变量是否配置成功 下载Java JDK 首先,我们需要从Oracle官网(https://www.oracle.com/java/technologies/javase-downloads…

    Java 2023年5月24日
    00
  • 基于JAVA中的四种JSON解析方式详解

    基于Java中的四种JSON解析方式详解 JSON是一种轻量级的数据交换格式,在web开发中被广泛使用,同时Java中也提供了多种JSON解析方式。本篇文章将详细介绍Java中的四种JSON解析方式,并提供示例说明。 四种JSON解析方式 Java中提供的四种JSON解析方式包括: org.json:官方内置的JSON解析库 GSON:谷歌开源的JSON解析…

    Java 2023年5月26日
    00
  • Java操作MongoDB数据库的示例代码

    以下是“Java操作MongoDB数据库的示例代码”的完整攻略: 安装MongoDB和Java驱动 首先需要安装MongoDB和Java驱动程序。可以在MongoDB官网下载最新版MongoDB,然后安装到本地计算机上。接下来,需要下载MongoDB的Java驱动jar文件,在项目中引入。 连接MongoDB数据库 连接MongoDB数据库需要使用Mongo…

    Java 2023年5月20日
    00
  • Java Arrays工具类用法详解

    我来为您详细讲解“Java Arrays工具类用法详解”的完整攻略。 Java Arrays 工具类用法详解 简介 在 Java 中,Arrays 是一个提供了很多操作数组的静态工具类。其提供了一些静态方法,用于对数组进行操作,如排序、搜索、赋值等。本篇攻略将详细介绍 Arrays 的使用方法。 Arrays 类的静态方法 Arrays 类包含了很多静态方法…

    Java 2023年5月26日
    00
  • Java filter中的chain.doFilter使用详解

    如何使用filter和chain来改变request和response? 本文将介绍如何在Java Web应用程序中使用过滤器(filter)和过滤器链(chain)来修改request和response。 过滤器是一种拦截器,可以拦截HTTP请求和响应,并在它们到达目的地之前或者退回客户端之前对它们进行修改。过滤器以链的方式组织在一起,可以按顺序执行。每个…

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