JAVA调用Bartender进行标签打印(可本地用打印机客户端进行测试打印,【云上的项目】可通过WebSocket进行通讯进行打印)

这篇具有很好参考价值的文章主要介绍了JAVA调用Bartender进行标签打印(可本地用打印机客户端进行测试打印,【云上的项目】可通过WebSocket进行通讯进行打印)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用Java编写一个打印标签客户端

java调用bartender打印,java,intellij-idea,spring boot,html,后端

 点击运行启动会打开首页

java调用bartender打印,java,intellij-idea,spring boot,html,后端

 可以点击预览打印 

java调用bartender打印,java,intellij-idea,spring boot,html,后端

点击打印可测试成功 

 java调用bartender打印,java,intellij-idea,spring boot,html,后端

 打印机结果

java调用bartender打印,java,intellij-idea,spring boot,html,后端

 前端用的是thymeleaf

代码片段

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <link rel="icon" th:href="@{/title.ico}" type="image/x-icon"/>
    <!-- Bootstrap core CSS -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container-fluid">
    <div class="col-sm-12 column">
        <ol class="breadcrumb">
            <li class="active">打印机客户端
            </li>
            <li class="active">打印机管理
            </li>
        </ol>
<!--        <a th:href="@{/printService/download}">操作手册.PDF</a> <br/>-->
        <div class="table-responsive">
            <table class="table table-striped ">
                <thead>
                <tr>
                    <th style="text-align:center">打印机名称</th>
                    <th style="text-align:center">打印机状态</th>
                </tr>
                </thead>
                <tbody>
                <!--
                    这里的 policyPublishDetailDtoList
                    是 Controller 通过 model.addAttribute("policyPublishDetailDtoList", list);传过来的
					th:each th:text都是thymeleaf中常用的标签
                -->
                <tr th:each="printInfoDto:${printInfoVoDtoList}">
                    <td th:text="${printInfoDto.printName}" style="text-align:center;vertical-align:middle;"></td>
                    <td th:text="${printInfoDto.printStatus}" style="text-align:center;vertical-align:middle;"></td>
                    <td>
                        <div class="btn-group" th:if="${printInfoDto.status}">
                            <a class="btn btn-default" th:href="@{/printService/preview(printName=${printInfoDto.printName})}" th:text="${'预览 | ' + printInfoDto.printName}"></a>
                        </div>
                    </td>
                </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
</body>
</html>

后端代码

  /**
     * 得到全部打印机
     */
    @GetMapping("/printList")
    public String printList(Model model, HttpServletRequest request) {
        PrintInfoVo printInfoVo;
        List<PrintInfoVo> printInfoVoList = new ArrayList<>();
        List<String> totalPrinterList = PrintUtils.getTotalPrinterList();
        if (totalPrinterList.size() > 0) {
            //在线打印机
            Map<String, String> map = PrintUtils.getZxPrinterMap();
            //默认打印机
            String defaultPrintName = PrintUtils.getDefaultPrintName();
            // 遍历所有打印机的名称
            for (String printer : totalPrinterList) {
                printInfoVo = new PrintInfoVo();
                printInfoVo.setStatus(false);
                if (printer.equals(defaultPrintName)) {//默认打印机
                    printInfoVo.setPrintName(printer);
                    String PrintStatus = "默认打印机";
                    if (map.get(printer) == null) {
                        printInfoVo.setPrintStatus(PrintStatus + "-脱机");
                    } else {
                        printInfoVo.setPrintStatus(PrintStatus + "-在线");
                        printInfoVo.setStatus(true);
                    }
                } else {//其他打印机
                    printInfoVo.setPrintName(printer);
                    if (map.get(printer) == null) {
                        printInfoVo.setPrintStatus("脱机");
                    } else {
                        printInfoVo.setPrintStatus("在线");
                    }
                }
                printInfoVoList.add(printInfoVo);
            }
        }
        model.addAttribute("printInfoVoDtoList", printInfoVoList);
        model.addAttribute("printInfoDto", new PrintInfoVo());
        request.getSession().removeAttribute("relativePath");
        return "printList";
    }
/**
     * 打印标签
     */
    @GetMapping("/testPrint")
    public String testPrint(String printName, Model model, HttpServletRequest request) {
        //调用打印逻辑进行打印
        PrintServer printServer = new PrintServer();
        Result result = printServer.print(PrintUtils.InitialDateString);
        model.addAttribute("printName", printName);
        model.addAttribute("result", result.getMsg());
        request.getSession().removeAttribute("relativePath");
        return "result";
    }

 页面上预览图片和真实打印机打出来的不一致是正常的因为这是测试打印(测试本地电脑是否符合使用打印机客户端调用bartender进行打印)文章来源地址https://www.toymoban.com/news/detail-613381.html

到了这里,关于JAVA调用Bartender进行标签打印(可本地用打印机客户端进行测试打印,【云上的项目】可通过WebSocket进行通讯进行打印)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 直连打印机打印,可排版设置字体,附标签贴打印案例。

    前言:我用的是下面这款标签贴打印机,一开始试了好多打印方式,图片打印很糊,docx文件打印效果最好,但是每次打印会打开Word 影响效率,PDF也会打开PDF软件,打印效果略差于docx文件,TXT文件又不能设置字体,找了好久,结合几个文章得到了以下几乎完美的打印方式,可

    2024年02月08日
    浏览(27)
  • C#winform连接MYSQL数据库斑马打印机打印标签

            

    2024年02月11日
    浏览(33)
  • 无条码商品新建商品档案,搭配蓝牙便携打印机移动打印条码标签

    null 无条码商品的商品档案新建,并打印条码标签,即可实现仓库条码管理,扫码入库,出库,盘点等操作。, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 汉码盘点机PDA, 作者简介 ,相关视频:条码标签打印,蓝牙便携打印机的设置,

    2024年02月14日
    浏览(30)
  • 前端实现调用打印机和小票打印(TSPL )功能

    前端 的方式 点击这个按钮,直接让打印机打印我想要的东西 github地址: https://github.com/whqgo/nodeWebPrint 目前比较好的方式就是直接用 TSPL 标签打印指令集, 基础环境就不多说了,这个功能的实现就是利用usb发送指令,现在缺少个来让我们能够和usb沟通的工具,下面这就是推荐的一个

    2024年02月06日
    浏览(39)
  • WEB使用WebSocket调用打印机:发票打印、套打打印解决方案

    WebSocket是一种在单个TCP连接上进行全双工通信的协议。它在Web浏览器和服务器之间建立持久连接,使得双方可以实时地发送数据。与HTTP不同,WebSocket连接一旦建立,将持续存在,直到明确关闭。 二、打印机与WebSocket的集成 要将打印机与WebSocket集成,首先需要在服务器端实现

    2024年02月03日
    浏览(49)
  • 微信小程序连接蓝牙汉印HM-A300L标签打印机

    需求: 以下文章针对打印一讲解,打印二的代码放在最后。 打印一 打印二 参考文章: 微信小程序实现蓝牙打印 打印机CPCL编程参考手册(CPCL 语言) 蓝牙打印机CPCL编程手册~汉印HM-A300 无用小知识: A300系列:先将打印机关机然后装好纸,同时按住屏幕左右两边的按键不放,

    2024年01月18日
    浏览(44)
  • js、PHP连接外卖小票机打印机方案(调用佳博、芯烨等)

    前言:         目前开发需要用到电脑直接连接外卖小票机打印小票,查阅各种资料,使用 6612345浏览器 终于解决了这个问题。 效果:         PHP、js直接连接小票机并且自动出票。 支持的小票机:          目前测试可以的有:电脑A4打印机、佳博GP58MBIII(USB直

    2024年02月11日
    浏览(28)
  • appemit 支持chrome edge谷歌微软浏览器佳博Gprinter 标签打印机 TSCLIB.DLL 函数库使用说明

    支持谷歌 firefox edge 360 qq sogou等各种浏览器,在线使用 佳博Gprinter 标签打印机 直接js操作 TSCLIB.DLL 函数库使用说明 请在使用TSCLIB.DLL 前,安装条形码打印机驱动程序。 1. openport(a) 说明: 指定计算机端的输出端口 参数: a: 单机打印时,请指定打印机驱动程序名称,例如: TSC TDP

    2024年02月04日
    浏览(32)
  • bartender打印脚本

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; namespace print {     class Program     {         private static void Main(string[] args)         {             //1.获取MES账户信息             String did = \\\"did\\\";             Str

    2024年01月24日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包