java使用佳博打印机打印条形码

来源:互联网 发布:淘宝服装代购是真的吗 编辑:程序博客网 时间:2024/04/27 15:09

在实际开发中我们使用条形码打印机打印条形码,这里介绍下使用动态链接库TSClib.dll编辑方式打印条形码,还有js实现方式,这里不进行介绍,会给相关的demo

准备工作:

1.佳博打印机,如佳博GP-1124D

详细参数如下:

主要参数     
    产品类型:桌面打印机
    分辨率: 203dpi
    打印方式: 热敏式
    打印速度: 4-8英寸/秒
    最大打印宽度: 104mm
    最大打印长度: 2286mm
    通信接口: USB接口,串口,并口
介质规格     
    介质类型: 连续纸,间隙纸,折叠纸,黑标纸
    介质宽度: 20-120mm
    介质厚度: 0.06-0.254mm
    最大外径: 130mm
其它参数     
    产品尺寸: 239×180×175mm
    产品重量: 2.09kg
    电源电压: 输入:AC 110-220V
                     输出:DC 24V,2.5A
    电源功率: 60W
    环境参数: 工作温度:5-45℃,工作湿度:25-85%RH(不结露)
                     存储温度:-10-50℃,存储湿度:10-90%RH(不结露)
    可选附件: 可选外置支架
    其它特点: 脉冲激发:1x108pulses
                     热敏片(耐磨性):50km
                     纸张缠绕形式:打印面外卷式

外形:


2.佳博打印机驱动安装,如:



3.动态链接库TSCLIB.dll,支持大部分佳博打印机,和其他品牌的TSC系列的打印机,讲动态链接库"TSCLIB.dll"复制到该路径下:

5.条形码扫描器:暴享(BAOX)BX-W988

详细参数:


6.案例:

package jbarcode;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import com.sun.jna.Library;import com.sun.jna.Native;/** * @class:PrintBarcodeUtil  *@descript:java使用编程接口打印条形码 *@date:2016年12月8日 下午2:02:50 *@version:V1.0 */public class PrintBarcodeUtil {     //加载库文件     private static final String LOAD_LIBRARY="TSCLIB";     //打印机型号     private static final String print_model="Gprinter  GP-1124D";     /** * @class:TscLibDll  *@descript:创建TSCLIB.dll编程接口 *动态链接库TSCLIB.dll,支持大部分佳博打印机,和其他品牌的TSC系列的打印机 *@date:2016年12月8日 下午2:03:55 *@version:V1.0 */ public interface TscLibDll extends Library {        TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);        int about ();        int openport (String pirnterName);        int closeport ();        int sendcommand (String printerCommand);        int setup (String width,String height,String speed,String density,String sensor,String vertical,String offset);        int downloadpcx (String filename,String image_name);        int barcode (String x,String y,String type,String height,String readable,String rotation,String narrow,String wide,String code);        int printerfont (String x,String y,String fonttype,String rotation,String xmul,String ymul,String text);        int clearbuffer ();        int printlabel (String set, String copy);        int formfeed ();        int nobackfeed ();        int windowsfont (int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, String szFaceName, String content);}public static void printBarcode(String message,String text){      //加载驱动        System.loadLibrary(LOAD_LIBRARY);        //解决中文乱码        System.setProperty("jna.encoding", "GBK");         //TscLibDll.INSTANCE.about();        TscLibDll.INSTANCE.openport(print_model);        //TscLibDll.INSTANCE.downloadpcx("C:\\UL.PCX", "UL.PCX");        //TscLibDll.INSTANCE.sendcommand("REM ***** This is a test by JAVA. *****");        TscLibDll.INSTANCE.setup("100", "60", "5", "8", "0", "0", "0");        TscLibDll.INSTANCE.clearbuffer();        TscLibDll.INSTANCE.printerfont ("150", "270", "TSS24.BF2", "0", "1", "1", text);        TscLibDll.INSTANCE.barcode("150", "90", "128", "150", "1", "0", "2", "2", message);         //TscLibDll.INSTANCE.windowsfont(400, 200, 48, 0, 3, 1, "arial", "DEG 0");        TscLibDll.INSTANCE.printlabel("1", "1");        TscLibDll.INSTANCE.closeport(); } //测试 public static void main(String[] args) throws UnsupportedEncodingException { List<String> list=new ArrayList<String>();           list.add("KJ4.1-0127-0001(001)");           list.add("KJ4.1-0128-0001(001)");           list.add("KJ4.1-0129-0001(001)");           list.add("KJ4.1-0130-0001(001)");           if(list!=null && list.size()>0){               for(String message:list){               printBarcode(message,"苏交科");             }           }          System.out.println("打印成功");}}

打印效果图:



备注:

1.该案例是条形码是code128,用扫码枪扫描能快速识别扫描,特殊符号汉字均能正常扫描

2.根据不同的条形码打印机会有不同的动态链接库,如佳博使用的是TSCLIB.dll,博思得"CDFPSK_u.dll"等等。这些都是根据对应条形码打印机官网下载驱动

3.上述案例中方法printBarcode()里面的写法是根据动态链接库"TSCLIB.dll"语法规则,具体详细查看TSCLIB.DLL 函数库使用说明

下载地址:http://download.csdn.net/detail/u014079773/9705736


4.使用条形码打印机打印条形码不需要生成条形码以图片的形式,然后再用打印方法以打印图片形式打印出来,然后用扫码枪扫描,这样做使得生成的条形码打印出来大小与原来大小不一致,而且有时扫码枪扫描不出来。用相应的条形码打印机驱动,动态链接库则避免了这些问题,而且打印出来的条形码用扫码枪扫描反应很快,中文特殊符号均能正常扫描。




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网上买的学生票取不出来怎么办 买完学生票发现打折没次数了怎么办 动车晚点方向来反了怎么办 身份证购买高铁票过不了审核怎么办 手机购买高铁票身份核验失败怎么办 在高铁上如果有人占了座位该怎么办 网上买的高铁票改签怎么办 临沂村委会强行征收我的土地怎么办 学籍验证码连续输入三次错误怎么办 社保在上海个税在外地居转户怎么办 父母已经有英国签证孩子的怎么办 营运车辆被撞不肯赔务工费怎么办 欧米茄外壳上装表带的孔穿了怎么办 淘宝上买了电子产品坏了怎么办 研究生人才补助申请期限过了怎么办 一个小孩亲妈愿意养躲起来怎么办 网银转账名字打错了怎么办 百世快递邮东西到长春件丢失怎么办 三色吸顶灯有一色不亮了怎么办 超级试驾车超出取车行政区域怎么办 护士电子化注册激活码搞丢了怎么办 香港地铁地铁错买了特惠票怎么办 湖北软考证书领取没有准考证怎么办 哈罗单车电动车骑着没电了怎么办 招聘线上测评的通行证过期了怎么办 上海落户在国企辞职后户口怎么办 老党员干部档案丢失人以去世怎么办 档案中的年龄有涂改办理退休怎么办 到办理退休不知档案在那怎么办 职工办理退休时档案丢了怎么办 老婆嫌我穷把我和孩子抛弃了怎么办 我招工表比我实际年龄小一岁怎么办 考上好学校名额被顶替了怎么办 面试题领导越级安排工作你怎么办 一个23岁的大学生身体肥胖怎么办 雷达手表把调时间的把出来了怎么办 农村没有住电表被卸载了怎么办 工商已吊销未注销要恢复营业怎么办 中专类学校取消后在编的老师怎么办 情迁微信内置抢红包版本过低怎么办 船运货给客户货到他不要怎么办