[Qt项目实战]Qt实现美松标签打印机标签二维码打印(QR混排模式+页打印模式)

news2024/11/30 0:51:34

1、硬件信息、环境参数及配套资料

1.1 打印机信息及开发环境

  • 打印机 美松标签打印机
  • 串口/USB通讯
  • Qt5.9 64位程序

1.2 打印机配套开发资料

打印机主要配套测试工具、开发SDK及驱动等,均由厂家提供。

  • 开发Demo及动态库:MsPrintSDK-DLL-V2.2.2.5
    链接:https://pan.baidu.com/s/1gBbF4HOaDU45QQJGRbQANQ
    提取码:5hh9
  • 美松打印机测试工具
    链接:https://pan.baidu.com/s/15m_1WnVn72xaXCVC1pd0VQ
    提取码:kdgl
  • 美松打印机驱动
    链接:https://pan.baidu.com/s/1td5xEtABnDnzdj_cG3s3Gg
    提取码:nvpm
  • 美松打印机SDK中文手册
    链接:https://pan.baidu.com/s/1PF2p_GA0q4SHcESpK7FFKA
    提取码:xlgw

2、QR码混排打印模式

QR码混排打印,就是打印QR码,再打印字符文本,然后再设置是否环绕。其中QR码打印函数中可以设置二维码大小,距离左边距尺寸,以及设置是否环绕。
QR码函数.JPG

    SetBold(1);
    QByteArray string;
    //第一行预留10dot(1dot=0.125mm)
    PrintFeedDot(10);
    PrintQrcode("1123469-033",3,6,1);
    SetLeftmargin(160);

    QString ProductIDStr = "单号:1123469-033";
    string = ProductIDStr.toLocal8Bit();
    char *c_ProductIDStr = string.data();
    qDebug()<<"c_ProductIDStr"<<c_ProductIDStr;
    PrintString(c_ProductIDStr,0);
    QString length = "长度:2555";
    string = length.toLocal8Bit();
    char *c_length = string.data();
    PrintString(c_length,0);
    PrintString("上固定框",0);
    PrintString("型材编号:HNPC109-01",0);
    PrintString("型材名称:109外框",0);
    int r = PrintRemainQR();
    //清空设置
    SetClean();
    //设置距离左边距20dot
    SetLeftmargin(20);
    PrintString("A法式香槟色B氟碳灰色",0);
    PrintString("海南三亚旗舰店-陆涛",0);
    PrintString("静雅系列断桥-平框-系列窗纱一体平开窗(外开玻璃+内开纱窗)",0);

    //进纸到切纸位置
    PrintMarkpositioncut();

3、页打印模式

    //清理缓存,清除之前设置的参数
    SetClean();   
    //进入页模式,并设置页面大小,50mm宽,高25mm
    SetPagemode(1, 400, 200);
    //设置页模式数据打印起始位置坐标
    SetPagestartposition(80, 16);
    m_sbData = new StringBuilder("1123469-033");
    PrintString(m_sbData, 0);

    SetPagestartposition(320, 16);
    m_sbData = new StringBuilder("上固定框");
    PrintString(m_sbData, 0);
    
    SetPagestartposition(8, 40);
    StringBuilder bar_data = new StringBuilder("a20181226");
    Print1Dbar(2, 100, 1, 0, 10, bar_data);
    
    SetPagestartposition(340, 64);
    m_sbData = new StringBuilder("型材编号:HNPC109-01");
    PrintString(m_sbData, 0);
    
    SetPagestartposition(340, 100);
    m_sbData = new StringBuilder("型材名称:109外框");
    PrintString(m_sbData, 0);
    
    SetPagestartposition(56, 140);
    m_sbData = new StringBuilder("A法式香槟色B氟碳灰色");
    PrintString(m_sbData, 0);

    //设置页模式数据打印起始位置坐标
    SetPagestartposition(8, 170);
    m_sbData = new StringBuilder("海南三亚旗舰店-陆涛");
    PrintString(m_sbData, 0);

    PrintPagedata();//
    //退出页模式
    SetPagemode(0, 400, 200);
    //黑标(不干胶)模式下检测黑标(不干胶缝隙)并进纸到切纸位置
    PrintMarkpositioncut();

4、总结

  • 如果使用USB接口,需要在电脑上安装美松打印机的驱动程序,否则会出现初始化失败的错误。

  • QR码混排打印时,最好是将QR码打印在左侧,因为打印QR码设置距离左边距最大值为27mm。

  • 美松打印机目前字体大小:字符是1224和917,汉字是1616和2424,放大只能按照倍数放大,比较难去调整到一个合适的字体大小,一般使用默认大小。

  • 美松提供的是纯C的动态库,输入的字符串是char类型,所以在Qt调用时需要将QString先转成char,并注意编码格式,否则会出现中文乱码情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

只需3步,使用Stable Diffusion无限生成AI数字人视频

基本方法 搞一张照片&#xff0c;搞一段语音&#xff0c;合成照片和语音&#xff0c;同时让照片中的人物动起来&#xff0c;特别是头、眼睛和嘴。 语音合成 语音合成的方法很多&#xff0c;也比较成熟了&#xff0c;大家可以选择自己方便的&#xff0c;直接录音也可以&#…

Linux TCP参数——tcp_allowed_congestion_control

tcp_allowed_congestion_control 设置允许普通进程使用的拥塞控制算法。这个参数的值阈是tcp_available_congestion_control参数的子集。默认值为"reno"加上tcp_congestion_control参数设置的算法。 reno 慢启动阶段&#xff1a;在开始的时候&#xff0c;cwnd按指数…

创建自己的“百度网盘”(部署owncloud)

[rootlocalhost html]# cd /root/[rootlocalhost ~]# wget https://download.com/server/stable/owncloud-10.12.0.zip --no-check-certificate #下载当前的owncloud代码包[rootlocalhost ~]# yum -y install unzip #安装解压工具[rootlocalhost ~]# unzip owncloud-10.12.0.zi…

BetterDisplay Pro for Mac(显示器校准软件) v2.0.11激活版

BetterDisplay Pro是一款由waydabber开发的Mac平台上的显示器校准软件&#xff0c;可以帮助用户调整显示器的颜色和亮度&#xff0c;以获得更加真实、清晰和舒适的视觉体验。 软件下载&#xff1a;BetterDisplay Pro for Mac v2.0.11激活版 以下是BetterDisplay Pro的主要特点&…

【数据分析可视化】动态生成柱状图

import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker from matplotlib.animation import FuncAnimation import matplotlib.patches as mpatches from matplotlib.animation import FFMpegWriter# 定义一个函数&#xff0c;用于生成…

开源模型应用落地-安全合规篇-模型输出合规性检测(三)

一、前言 为什么我们需要花大力气对用户输入的内容和模型生成的输出进行合规性检测,一方面是严格遵守各项法规要求,具体如下:互联网信息服务深度合成管理规定https://www.gov.cn/zhengce/zhengceku/2022-12/12/content_5731431.htm ​ 其次,受限于模型本身的一些缺陷,…

智能合约 之 ERC-20介绍

什么是ERC20 ERC20全称为Ethereum Request for Comment 20&#xff0c;是一种智能合约标准&#xff0c;用于以太坊网络上的代币发行 姊妹篇 - 如何部署ERC20 ERC20的应用场景 代币化资产&#xff0c;例如&#xff1a;USDT 是一种以美元为背书的ERC20代币&#xff0c;每个USDT代…

Unity 实现双屏或多屏内容展示

在某些应用场景&#xff0c;一个应用可能需要使用多个显示器显示。 Unity支持最多8个不同显示器同时显示应用程序中八个摄像头的视图&#xff0c;如下图&#xff1a; 具体实现如下&#xff1a; 1、在Hiearchy面板上点击鼠标右键->Camera,创建多一个Camera,如图&#xff1a…

Android Studio Gradle设置查看全部task

如果你在 Android Studio 的 Gradle 窗口中看不到所有的任务&#xff0c;你可以尝试以下步骤来解决这个问题 android studio 版本&#xff1a; Android Studio Iguana | 2023.2.1 Build #AI-232.10227.8.2321.11479570, built on February 22, 2024 打开 Android Studio 的设置…

深入探讨Python中的文件操作与文件IO操作【第141篇—Python实现】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 深入探讨Python中的文件操作与文件IO操作 在Python编程中&#xff0c;文件操作和文件IO操作…

maven手动上传的第三方包 打包项目报错 Could not find xxx in central 解决办法

背景: 在Maven私服手动上传了第三方的jar包, 只有jar包, 没有pom文件, 项目在ide中可以正常编译启动,但打包报错无法找到jar包 解决办法: 上传jar包的时候, 点击生成pom. 则打包的时候不会报错

RHCE——三:Web服务器(内网穿透实验)

RHCE—第三天&#xff1a;Web服务器 一、WWW简介1、常见Web服务程序介绍&#xff1a;2、服务器主机3、主要数据4、浏览器5、网址及HTTP简介URL 二、部署Nginx1、常用命令systemctl系列nginx自带命令nginx配置文件 2、实验操作实验1&#xff08; 快速搭建网站&#xff09;实验2&…

OCP NVME SSD规范解读-13.Self-test自检要求

4.10节Device Self-test Requirements详细描述了数据中心NVMe SSD自检的要求&#xff0c;这一部分规范了设备自身进行各种健康检查和故障检测的过程。自检对于确保SSD的正常运行和提前预防潜在故障至关重要。 在进行设备自检时&#xff0c;设备应当确保不对用户数据造成破坏&am…

python字典:打印字典中的键、值、打印所有字典、python遍历字典

1.定义 字典以花括号&#xff08;{}&#xff09;括起来&#xff0c;里面的元素是成对出现的&#xff0c;不同对元素用逗号&#xff08;,&#xff09;分开&#xff1b;一对元素用 冒号&#xff08;&#xff1a;&#xff09;分割。 2.解读 字典里的每一对元素准确的来说是键值对&…

架起桥梁,畅享流通:如何使用私有Registry实现镜像跨源同步与管理

在Docker容器化世界中&#xff0c;镜像作为构建和运行应用的基础单元&#xff0c;其管理与分发对于企业级应用至关重要。私有Registry作为存储和管理Docker镜像的中心仓库&#xff0c;不仅可以保障企业数据的安全性&#xff0c;更能通过镜像同步功能实现跨源镜像的统一管理和高…

三维指静脉生物识别成像设备设计和多视图验证研究

文章目录 三维指静脉生物识别成像设备设计和多视图验证研究总结摘要介绍多视角指静脉识别模型结构内容特征编码Transformer(CFET)主导特征选择模块(DFSM) 实验和结果数据集实施细节视角研究池化层的作用消融实验和SOTA方法比较 论文: Study of 3D Finger Vein Biometrics on I…

金蝶云星空——插件dll重新发布报错:鏃犳硶鏄剧ず椤甸潰锛屽洜涓哄彂鐢熷唴閮ㄦ湇鍔″櫒閿欒銆�

项目场景&#xff1a; 金蝶插件开发 问题描述 今天更新了插件dll然后重启IIS金蝶就报如下错误&#xff1a; 解决方案&#xff1a; 折腾了一天结果发现是给自己挖坑了&#xff0c;这次更新我担心插件代码有问题就把原dll重命名了然后把最新dll更新到金蝶bin文件中&#xff0c…

QT-绘制动态曲线

QT-绘制动态曲线 pro文件中添加chart 在串口工程中添加控件 将控件功能提升为QChartView 点击添加 添加相关的头文件和变量

【CSS练习】万年历 html+css+js

效果图 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><style>bod…

蓝桥杯决赛2023 RE CyberChef2

思路很清晰&#xff0c;爆IV 各种格式转换和删除padding非常麻烦&#xff0c;不过终于还是调出来了 #Cyber2 wp from Crypto.Cipher import DES, AES from Crypto.Util.Padding import pad, unpad key_des b0a0b0c0d cipher bytes.fromhex("416935cabeb8e30cd9b56d…