注: 

   由于工作需要, 也是第一次接触到打印机的相关内容, 凑巧, 通过找了很多资料和帮助后, 也顺利的解决了打印标签的问题

(标签的表面信息[二维码,条形码, 文字] 和 RFID标签的EPC写入)

解决方案

1. 由于开发准备的前期工作, 手里面是有很多的原厂API, 

通过阅读大概阅读了这些pdf文档(尽管看不懂...) ,大概知道原理是通过ZPL命令去调用DLL发送至打印机执行。

所以,顺藤摸瓜, 我直接就去搜索ZPL的操作命令, 自己尝试了编写ZPL命令操作打印机。在这里,先讲一下什么是ZPL命令~~

Zebra Programming Language (printer language) 简称ZPL 是由斑马公司发明的一种用于打印机通信的命令。

网络上搜索的相关的ZPL命令, 大概是都是这样, 前面一个 ^ 符号 后面不同的英文及参数组成, 就能形成特殊的ZPL命令

在打印机的纸张上显示具体的内容, 下面也会讲到, 如下图:

这里列出部分代码(后面会给出源文件

实现:

1.先将ZPL命令用字符串拼接好 如下图中的StringBuilder中拼接的字符串,(图1)  (类似^XA  ^XZ 这些都是ZPL命令里面的一些操作, 百度一下ZPL命令会有一些基本的说明)

2.然后调用引用的DLL(图2) 进行发送命令即可。

执行到的RawPrinterHelper.SendStringToPrinter方法。

这就是测试打印的一些内容:

可能你看到这里, 还是觉得很模糊, 没关系, 下面有好东西(不仅是源码)...

————————————————————————华丽的分割线—————————————————————————

如果是要自定义标签的各种样式, 内容, 是不是要不停的去翻查ZPL的文档? 去掌握ZPL如何使用呢?

我想想那样还是太麻烦了。

毕竟现在有很多工具可以设置标签模板操作打印机, 那么他们的原理是什么呢?

然后经过查找, 才发现, 原来那些标签打印机设置的模板,原理也是通过命令发送到

打印机去执行生成指定的内容,那么问题就来了, 是不是这些标签模板都可以找到

它们的ZPL指令呢, 是的没错,确实有!

注: 大部分打印机都支持ZPL命令

下面我用Bartender9.4的破解软件演示 ( 破解的版本网络上很多地方提供下载, 现在你可以看看先怎么做)

1.打开Bartender9.4, 会看到下面的界面

2.选择一个新的标签格式即可, 一直下一步, 直到进入主界面

3. 然后尝试在界面中拉动一个条码标签, 如图

4.然后点击打印按钮 , 实际上这一步就是把这个模板的ZPL命令保存到本地的文件中。

5.勾选打印到文件。

6.保存到本地即可

好了, 接下来,我们打开本地文件, 看下到底是怎么个回事,

像图中的 <xpml>标签 <page>标签, 这些应该是软件里面的数据格式, 肯定没用处的, 所以我们找到需要的内容即可。

 然后把刚才的字符串复制在测试的程序中。

然后调用具体的方法(项目的测试文件下载会有明确的说明) , 就可以顺利打印出来了,如图。

注: 由于标签纸的大小问题, 在设置标签模板的时候, 我是选定了标签的长宽, 如果出现打印不出来

或者显示不全的, 可以在标签模板设置好长宽和条码的位置即可

需要源代码请发送至本人邮箱, zhouhaogg789@outlook.com, 看到会及时回复!

BarTender 通过ZPL命令操作打印机打印条码, 操作RFID标签的更多相关文章

  1. C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。

    1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里,  后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...

  2. C#直接发送打印机命令到打印机及ZPL常用打印命令 - 条码打印机

    using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...

  3. C# Bartender模板打印 条码,二维码, 文字, 及操作RFID标签等。

    1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里,  后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...

  4. Matlab命令系列之目录操作

    Matlab命令系列之目录操作 filesep 用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux是斜杠(/).有时此命令结合ispc命令使用,可以灵活的设置目录分割符. fullf ...

  5. mysql在cmd命令下执行数据库操作

    windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大 ...

  6. Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ...

  7. 安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)

    前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库 ...

  8. 让linux中 history显示每条命令的操作时间及操作用户【转】

    一.history 中显示日期时间用户名的办法 history 命令,用来显示命令行上的操作记录 不过默认是仅显示操作命令行本身,而没有记录操作时间等细节 例如 这样,我们查找记录时很麻烦,想回顾下某 ...

  9. Linux命令行上执行操作,不退回命令行的解决方法

    问题描述: 如果你现在登录Centos执行了某个操作,但是操作一直占用命令行,命令行显示的也都是这个命令相关的操作,我想做其它事情 ,该怎么办呢 ? 解决方法: 根据<Linux命令行与Shel ...

随机推荐

  1. __call()和__callStatic()实例详解

    <?php class Demo { //第一个参数是方法名,第二个参数是方法参数,以数组形式传入 public function __call($method,$args) { //遍历参数$ ...

  2. [转载]PHP检测一个元素是否存在于数组中

  3. Java (PO,VO,DAO,BO,POJO,DTO) 几种对象解释

    1. PO:persistant object 持久对象 可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对 ...

  4. 调停者(Mediator)模式

    调停者模式是对象的行为模式.调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用.从而使它们可以较松散地耦合.当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些 ...

  5. win10下使用nodejs安装及webstorm创建express项目的指导

    title: win10下使用nodejs安装 win10下使用nodejs安装及webstorm创建express项目的指导 windows下nvm的安装 熟悉linux下nodejs开发的朋友应该 ...

  6. Android开发中使用static变量应该注意的问题

    package com.highxin.launcher01; import java.util.ArrayList; import java.util.HashMap; import java.ut ...

  7. JQuery版评分控件

    Hi All, 分享一个学习JQuery做的一个评分控件. 需求:当鼠标移动到 ‘☆’ 上时,该字符左边的 ‘☆’ 变成 '★',该字符右边仍然是 ‘☆’, 并显示相应星星数的评价结果:当鼠标推出 ‘ ...

  8. Amazing ASP.NET Core 2.0

    前言 ASP.NET Core 的变化和发展速度是飞快的,当你发现你还没有掌握 ASP.NET Core 1.0 的时候, 2.0 已经快要发布了,目前 2.0 处于 Preview 1 版本,意味着 ...

  9. react 的五脏六腑ing~

    用react一年多了.一直是在别人的影子下写的代码,他们也确实都是大神级的人物,不过,小菜鸟也有小菜鸟的思想~这不,今天就在重温一遍react!记一些零碎的知识点~不知道对你们有没有用,不过,对于我, ...

  10. 第41篇 推荐一个jekyll博客模板

    本人用的模板是基于Codeboy的博客模板改造模板,(由于本人可能会有很多样式修改,所以不再将修改pullrequst到原项目,在此对codeboy模板表示感谢).功能改造如下: 添加微信支付宝打赏 ...