Boa!
Voltando aqui para fechar o tópico.
Para quem um dia precisar se comunicar via tcp com a bema 4200 em comando esc/pos e imprimir um qrcode o código é o seguinte:
Geração do qrcode:
try {
int qrLen = SALES_QRCODE.length()+3;
char ph = (char)(qrLen / 256);
int pl = (char)(qrLen - (ph * 256));
String qrCode = ""+
//Selecionar modelo: GS ( k pL pH cn fn n1 n2
(char)29 + (char)40 + (char)107 + (char)4+ (char)0+ (char)49+ (char)65+ (char)50+ (char)0+
// Selecionar tamanho do modulo: GS ( k pL pH cn fn n
(char)29+ (char)40+ (char)107+ (char)3+ (char)0+ (char)49+ (char)67+ (char)4+
//Selecionar nível de correção de erro: GS ( k pL pH cn fn n
(char)29+ (char)40+ (char)107+ (char)3+ (char)0+ (char)49+ (char)69+ (char)49+
//Armazenar texto em memória: GS ( k pL pH cn fn m d1...dk
(char)29+ (char)40+ (char)107+ (char)pl + ph + (char)49+ (char)80+ (char)48+SALES_QRCODE+
//Imprimir QRCode:
(char)29+ (char)40+ (char)107+ (char)3+ (char)0+ (char)49+ (char)81+ (char)48;
PRINT_QRCODE = qrCode;
} catch (Exception ex) {
System.out.println(ex);
}
E para enviar por socket :
try {
Socket sock = new Socket(IP, PORTA);
DataOutputStream out = new DataOutputStream(sock.getOutputStream());
out.writeShort(PRINT_QRCODE.length());
out.writeBytes(PRINT_QRCODE);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}