2 liyue2329 liyue2329 于 2014.11.10 09:37 提问

java通过jnative发送命令给标签打印机打印二维码,打印出来的是空白!!

java通过jnative的sendcommand方法发送打印二维码的命令给打印机,但是打印机打印出的是空白,其他的命令都是可以打印的,只有二维码打印出来的是空白(打印机支持二维码打印,通过赠送的软件是可以打印的)。命令是官方给的,就是不知道为什么打印不了!

enter code here

public class BarcodeTest {

public static void main(String[] args) {
    System.out.println(System.getProperty("java.library.path"));
    try {
        BarcodeTest.barcode_print("xxxxxx");
    } catch (NativeException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }

}

public static void barcode_print(String barcode_str)throws NativeException, IllegalAccessException {
    System.load("C:/WINDOWS/system32/TSCLib.dll");
    JNative openport = new JNative("TSCLib.dll","openport");
    openport.setParameter(0,"Gprinter  GP-3120TL");
    openport.invoke();

    JNative size = new JNative("TSCLib","sendcommand");
    size.setParameter(0, "SIZE 40mm,30mm");
    size.invoke();

    JNative gap = new JNative("TSCLib","sendcommand");
    gap.setParameter(0, "GAP 0mm,0mm");
    gap.invoke();

    JNative cls = new JNative("TSCLib","sendcommand");
    cls.setParameter(0, "CLS");
    cls.invoke();       

    JNative sendcommand = new JNative("TSCLib.dll","sendcommand");
      sendcommand.setParameter(0,BarcodeTest.CMD_QRCODE_FROMT_GP3150TN(barcode_str));

sendcommand.invoke();
JNative print = new JNative("TSCLib.dll","sendcommand");
print.setParameter(0, Type.STRING,"PRINT 1,1");
print.invoke();

     //清除 
     JNative clearbuffer = new JNative("TSCLib","clearbuffer");
     clearbuffer.invoke();
     //关闭  
     JNative closeport = new JNative("TSCLib","closeport");
     closeport.invoke();
}

public static String CMD_QRCODE_FROMT_GP3150TN(String barCode){
     StringBuffer sb = new StringBuffer("QRCODE");
     sb.append(" ");
     sb.append("45,");
     sb.append("55,");
     sb.append("L,");
     sb.append("5,");
     sb.append("A,");
     sb.append("0,");
     sb.append("1,");
     sb.append("7,");
     sb.append("\"");
     sb.append(barCode);
     sb.append("\"");
     return sb.toString();
 }

}

5个回答

save4me
save4me   Ds   Rxr 2014.11.19 10:52

试一下
public static String CMD_QRCODE_FROMT_GP3150TN(String barCode){
StringBuffer sb = new StringBuffer("QRCODE");
sb.append(" ");
sb.append("45,");
sb.append("55,");
sb.append("L,");
sb.append("5,");
sb.append("A,");
sb.append("0,");
sb.append("M1,");
sb.append("S7,");
sb.append("\"");
sb.append(barCode);
sb.append("\"");
return sb.toString();
}

sky147258369s
sky147258369s 可以打印出来了 按照这方法
大约 2 年之前 回复
ahzuheng
ahzuheng   2015.09.02 15:46

我也遇到同样的问题,打印的是空白

baidu_32008329
baidu_32008329   2015.10.15 14:27

楼主也是tsc打印机,问题解决了么,知道怎么用代码控制二维码的大小么

kaney4115
kaney4115   2015.10.20 20:45

解决了吗?我的打出来也是空白

save4me
save4me   Ds   Rxr 2014.12.18 11:00

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!