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日

相关文章

  • Java Filter过滤器的使用教程

    Java Filter过滤器的使用教程 Java Filter是Servlet规范提供的一种过滤器机制,用于在Servlet请求和响应之前对请求进行过滤和处理。Filter的使用可以提高Web应用程序的安全性和性能。在本文中,我们将详细讲解Java Filter的使用教程。 Filter过滤器的基本概念 Filter是Servlet中的一种过滤器机制,主要用…

    Java 2023年6月15日
    00
  • Java 实战项目之小说在线阅读系统的实现流程

    首先让我们来讲解一下“Java 实战项目之小说在线阅读系统的实现流程”。 1. 系统功能需求分析 在开发小说在线阅读系统之前,我们需要对系统的功能需求进行分析,以确保开发出的系统能够满足用户的要求。在这个阶段,我们需要做以下工作: 确定系统的用户类型:读者、作者和管理员等。 确定系统的基本功能模块:用户注册、登录、小说分类、小说搜索、在线阅读、小说管理、用户…

    Java 2023年5月24日
    00
  • PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法

    下面是关于PHP模拟登陆163邮箱并进行发邮件、获取通讯录列表的详细攻略。 步骤一:模拟登陆163邮箱 首先,我们需要进行模拟登陆163邮箱。为了实现这个目标,我们可以采用CURL库来构建HTTP请求,并通过DOMDocument和SimpleXMLElement处理HTML和XML文档。下面是模拟登陆的详细步骤: 1. 准备登陆数据 我们需要准备一个数组来…

    Java 2023年6月16日
    00
  • 使用springMVC所需要的pom配置

    以下是关于“使用SpringMVC所需要的POM配置”的完整攻略,其中包含两个示例。 使用SpringMVC所需要的POM配置 SpringMVC是一种基于Java的Web框架,它可以帮助我们快速地开发Web应用程序。在使用SpringMVC时,我们需要在项目中添加一些依赖库。本文将讲解使用SpringMVC所需要的POM配置。 添加SpringMVC依赖 …

    Java 2023年5月17日
    00
  • Java中的File类是什么?

    File类是Java中的一个类,用于操作文件或文件夹。它主要用于获取文件或文件夹的属性、操作(创建、删除、重命名等)文件或文件夹。 File类的基本使用 File类提供了多个构造方法,可以使用文件路径或URI来创建一个文件实例,例如: // 通过文件路径创建File实例 File file = new File("C:/test.txt"…

    Java 2023年4月27日
    00
  • Java利用Dijkstra和Floyd分别求取图的最短路径

    Java 利用 Dijkstra 和 Floyd 算法分别求取图的最短路径可以分为以下几个步骤: 1. 建立图的数据结构 首先需要建立用于表示图的数据结构,通常可以使用邻接矩阵或邻接表来表示图。 以邻接矩阵为例,可以定义一个二维数组来表示图,数组中的每一个元素 a[i][j] 表示从节点 i 到节点 j 的边的权值。如果不存在从节点 i 到节点 j 的边,则…

    Java 2023年5月26日
    00
  • Java实现图书馆借阅系统

    Java实现图书馆借阅系统攻略 1. 需求分析 在实现图书馆借阅系统之前,需要进行需求分析,明确系统应具有哪些功能,以及功能的实现方式。常见的图书馆借阅系统功能如下: 添加图书:包括书名、作者、出版社、ISBN等信息; 查询图书:支持关键字查询,可以根据书名、作者、ISBN等信息查询; 借阅图书:对某一本书进行借阅操作,记录借阅人和借阅日期; 归还图书:对已…

    Java 2023年5月23日
    00
  • Struts2+uploadify多文件上传实例

    Struts2+Uploadify多文件上传完整攻略 1. 前言 本文介绍如何在Struts2框架中使用uploadify插件实现多文件上传功能。假设你已经对Struts2框架有基本的了解,并且熟悉Maven构建工具。 2. 准备工作 在开始实现多文件上传之前,需要准备以下工具和环境: 开发IDE:推荐使用IntelliJ IDEA或Eclipse Mave…

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