aqui te dejo el ejemplo solo lo adaptas a lo que quieras
Código Java:
Ver original book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
printJob.setPrintService();
try {
printJob.print();
PrintException.printStackTrace();
}
}
}
private class IntroPage
implements Printable {
try {
g2d2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
g2d2.
setPaint(Color.
black); String customer
= "5465235656"; Barcode barcode_c = BarcodeFactory.createCode39(cus, false);//aqui generamos el codigo de barras
barcode_c.setDrawingText(false);//aqui dibujamos el codigo en una imagen
barcode_c.setBarHeight(35);//aqui ponemos la longitud del codigo de barras
barcode_c.setBarWidth(1);//aqui ponemos la altura del codigo de barras
//aqui ponemos el numero y debajo el codigo de barras de acuerdo a ciertas coordenadas
g2d2.setFont(customerFont);//mandamos el font a la etiqueta para imprimirlo
FontMetrics customerfontMetrics
= g2d2.
getFontMetrics(); g2d2.drawString(customer, 45, 16);//aqui dibujamos el numero en la cordenada 45,16 de la etiqueta (las coordenadas son en puntos por lo regular son 2 puntos por mm)
g2d2.drawImage(image_c, 10, 21, null);//aqui dibujamos el codigo en la etiqueta en la coordenada 10,21
} catch (OutputException ex) {
Logger.getLogger(bean.class.getName()).log(Level.SEVERE, null, ex);
} catch (BarcodeException ex) {
Logger.getLogger(bean.class.getName()).log(Level.SEVERE, null, ex);
}
return PAGE_EXISTS;
}
}
y listo si lo pruebas en una impresora normal te va a salir completo desde el margen 0,0 de tu hoja y lo que te comentaba s q e las termicas no respeta el margen de la etiqueta donde vas a imprimir, si no toma lo del margen de la hoja normal
en palabras simples solo te va a imprimir la mitad
si puedes solucionar esa parte x favor avisame q yo aun no he podido
suerte!!