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.使用条形码打印机打印条形码不需要生成条形码以图片的形式,然后再用打印方法以打印图片形式打印出来,然后用扫码枪扫描,这样做使得生成的条形码打印出来大小与原来大小不一致,而且有时扫码枪扫描不出来。用相应的条形码打印机驱动,动态链接库则避免了这些问题,而且打印出来的条形码用扫码枪扫描反应很快,中文特殊符号均能正常扫描。
- java使用佳博打印机打印条形码
- java使用佳博打印机打印条形码
- JavaScript控制打印机打印条形码----条形码产生部分
- java 打印条形码
- 条形码打印控件的使用
- Java使用jacob调用默认打印机打印Word和excel
- 蓝牙连接打印机打印文字图片条形码二维码 用的是Gprinter打印机
- JQuery使用打印机打印div
- java打印表格到打印机
- java调用打印机打印图片
- java 指定打印机 进行打印
- JAVA 指定打印机进行打印
- java 指定打印机 进行打印
- Java直接控制打印机打印
- Java 调用打印机打印图片
- java 指定打印机 进行打印
- java 指定打印机 进行打印
- JAVA实现打印机打印字符串
- python字符串切割:str.split()和re.split()对比
- C# 设置权限中英对照表
- Android软键盘弹出,RelativeLayout 布局会把原来的界面挤上去
- Failed to load 'Assets/Plugins/x64/PPgunGyro.dll' with error '找不到指定的模块。
- css loading
- java使用佳博打印机打印条形码
- c/c++ 计算代码执行时间
- TCP和UDP的区别,如何选择使用
- 职场:因抢一个月饼,惨遭阿里开除,如今他把生活过成这样
- cocos2d x 3.x
- 职业资源
- scrollview嵌套listview只显示一行的问题
- hdu4055(dp)
- (Unity 编辑器扩充(一))右键设置父节点