liyue2329 2014-11-10 01:37 采纳率: 0%
浏览 3742

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 2014-11-19 02: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();
    }

    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容