`
happyqing
  • 浏览: 3153636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java打印条码,使用佳博条码打印机

阅读更多

 

有一种可直接打印条码的打印机,本文采用这种方式,

这种打印机,可直接打印条形码二维码,还可打印文字图片(PCX,BMP)

有客户端软件,可设计打印的东西,并打印,

也有编程接口,需加载dll,貌似没有linux版的

打印机有USB接口,也有带网线的,我选的带网线的,

打印纸用的是热敏打印机,打印纸有多种规格的,

打印效果

条码:

 

标签(带条码):打印的是文字,横线(也可也打下划线),条码,

折行的是截取字符串后,在另一行打印的,
 

佳博打印机官网

http://www.gainscha.com/pro.asp?op=2&anid=70

 

GP-3150TIN条码打印机

http://www.gainscha.com/pro_view.asp?op=2&id=59&anid=70&nid=135

带USB口,带网口,还有好几个带网口的,这个最便宜 500左右。

 

编程接口

动态链接库TSCLIB.dll,支持大部分佳博打印机,和其他品牌的TSC系列的打印机

Windows DLL version V2.00.

下载地址

http://download.csdn.net/detail/haveqing/8822409

有文档和样例,包括JAVA调用,JSP掉用,其他语言调用的,

(JSP调用是用js在前端调用,通过控件调用)


 

JAVA样例

import com.sun.jna.Library;
import com.sun.jna.Native;

/**
 * 打印序列号
 * @author happyqing
 * 2015.5.28
 */
public class PrintLabel {
	/**
	 * 加载打印Dll,打印接口
	 *
	 */
	public interface TscLibDll extends Library {
		//把TSCLIB.dll发到JAVA_HOME\bin下
	    TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("TSCLIB", TscLibDll.class);
//	    TscLibDll INSTANCE = (TscLibDll) Native.loadLibrary ("C:\\Windows\\System32\\TSCLIB.dll", 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 main(String[] args) {
        TscLibDll.INSTANCE.about();
        TscLibDll.INSTANCE.openport("TSC TTP-2410M");
        //TscLibDll.INSTANCE.downloadpcx("C:\\UL.PCX", "UL.PCX");
        TscLibDll.INSTANCE.sendcommand("REM ***** This is a test by JAVA. *****");
        TscLibDll.INSTANCE.setup("100", "100", "5", "8", "0", "0", "0");
        TscLibDll.INSTANCE.clearbuffer();
        //TscLibDll.INSTANCE.sendcommand("PUTPCX 550,10,\"UL.PCX\"");
        TscLibDll.INSTANCE.printerfont ("100", "10", "3", "0", "1", "1", "(JAVA) DLL Test!!");
        TscLibDll.INSTANCE.barcode("100", "40", "128", "50", "1", "0", "2", "2", "123456789");
        TscLibDll.INSTANCE.windowsfont(400, 200, 48, 0, 3, 1, "arial", "DEG 0");
        TscLibDll.INSTANCE.windowsfont(400, 200, 48, 90, 3, 1, "arial", "DEG 90");
        TscLibDll.INSTANCE.windowsfont(400, 200, 48, 180, 3, 1, "arial", "DEG 180");
        TscLibDll.INSTANCE.windowsfont(400, 200, 48, 270, 3, 1, "arial", "DEG 270");
        TscLibDll.INSTANCE.printlabel("1", "1");
        TscLibDll.INSTANCE.closeport();
    }
}

 

注意:要是打印乱码

请把JAVA文件编译成GBK的class,就好了,不只是设置编码

比如一种方式 VM arguments 加 -Dfile.encoding=GBK

 

附件中提供打印以上两个样例图片的java类(PrintLabel.java),Dto类类似于Map

 

 

  • 大小: 41.8 KB
  • 大小: 133.3 KB
  • 大小: 54.9 KB
分享到:
评论
4 楼 happyqing 2019-04-29  
skyshowshow 写道
[b][/b]DTO类呢baseDto呢

类似Map的类,自己实现就好了,不行就改成Map
3 楼 skyshowshow 2019-02-13  
[b][/b]DTO类呢baseDto呢
2 楼 mywjch 2016-08-29  
thanks a lot !
1 楼 wudehua000 2015-09-21  
有打印logo的接口吗?

相关推荐

Global site tag (gtag.js) - Google Analytics