Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/06/2011, 16:14
Avatar de valdo_kof
valdo_kof
 
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: Imprimir codigo barras en impresora termica

aqui te dejo el ejemplo solo lo adaptas a lo que quieras
Código Java:
Ver original
  1. public void impresion() throws PrinterException {
  2.           PrinterJob printJob = PrinterJob.getPrinterJob();
  3.         Book book = new Book();
  4.         book.append(new IntroPage(), printJob.defaultPage());
  5.         printJob.setPageable(book);
  6.                 printJob.setPrintService();
  7.                 try {
  8.                     printJob.print();
  9.                    
  10.                 } catch (Exception PrintException) {
  11.                     PrintException.printStackTrace();
  12.                 }
  13.             }
  14.         }
  15.    
  16.  
  17. private class IntroPage implements Printable {
  18.  
  19.         public int print(Graphics g, PageFormat pageFormat, int page) {
  20.             try {
  21.                 Graphics2D g2d2 = (Graphics2D) g;
  22.                 java.util.Date fecha = new Date();
  23.                 g2d2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
  24.                 g2d2.setPaint(Color.black);
  25.                 String customer = "5465235656";
  26.                 Font customerFont = new Font("Arial", Font.BOLD, 14);
  27.                 Barcode barcode_c = BarcodeFactory.createCode39(cus, false);//aqui generamos el codigo de barras
  28.                 barcode_c.setDrawingText(false);//aqui dibujamos el codigo en una imagen
  29.                 barcode_c.setBarHeight(35);//aqui ponemos la longitud del codigo de barras
  30.                 barcode_c.setBarWidth(1);//aqui ponemos la altura del codigo de barras
  31.                 BufferedImage image_c = BarcodeImageHandler.getImage(barcode_c);
  32.                 //aqui ponemos el numero y debajo el codigo de barras de acuerdo a ciertas coordenadas
  33.                 g2d2.setFont(customerFont);//mandamos el font a la etiqueta para imprimirlo
  34.                 FontMetrics customerfontMetrics = g2d2.getFontMetrics();
  35.                 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)
  36.                 g2d2.drawImage(image_c, 10, 21, null);//aqui dibujamos el codigo en la etiqueta en la coordenada 10,21
  37.                              
  38.  
  39.             } catch (OutputException ex) {
  40.                 Logger.getLogger(bean.class.getName()).log(Level.SEVERE, null, ex);
  41.             } catch (BarcodeException ex) {
  42.                 Logger.getLogger(bean.class.getName()).log(Level.SEVERE, null, ex);
  43.             }
  44.             return PAGE_EXISTS;
  45.  
  46.         }
  47.     }


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!!