Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2011, 11:59
Avatar de valdo_kof
valdo_kof
 
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 15 años
Puntos: 16
Respuesta: Imprimir con Java PrintJob Ticket

a mi me pasa algo parecido me agarra la impresion como si fuera joja tamaño cartatienen idea de q es lo que pasa?

este es mi codigo

Código Java:
Ver original
  1. public class imprimir_individual {
  2.     String item_no,ident,country_o,country_o2,qty2,cus,printName = "ZDesigner 140XiIII Plus";
  3.   int count;
  4.  
  5.    
  6. public void impresion(String item,String cust_num,String iden,String country,String country2,String qty) throws PrinterException{
  7.     item_no=item;
  8.     ident=iden;
  9.     country_o=country;
  10.     country_o2=country2;
  11.     qty2=qty;
  12.     cus=cust_num;
  13.    
  14. PrinterJob printJob = PrinterJob.getPrinterJob();
  15.   Book book = new Book();
  16.   book.append(new IntroPage(), printJob.defaultPage());
  17.     printJob.setPageable(book);
  18.     PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
  19.       for (PrintService printService : services) {
  20.             if (count == 0) {//aqui cambio para q tome monbre de impresora, se quta si la impresora es local
  21.                 printName = printService.getName();
  22.             }
  23.             count = count + 1;//junto con este
  24.         }
  25. AttributeSet aset = new HashAttributeSet();
  26.         aset.add(new PrinterName(printName, null));
  27.         services = PrintServiceLookup.lookupPrintServices(null, aset);
  28.         for (PrintService printService : services) {
  29.             PrintService printers[] = PrintServiceLookup.lookupPrintServices(null, aset);
  30.                 if (printers.length == 1) {
  31.                printJob.setPrintService(printers[0]);
  32.              try {
  33.         printJob.print();
  34.  
  35.       } catch (Exception PrintException) {
  36.         PrintException.printStackTrace();
  37.       }
  38. }
  39.         }
  40.    
  41. }
  42.   private class IntroPage implements Printable {
  43.  
  44.          public int print(Graphics g, PageFormat pageFormat, int page) {
  45.             try {
  46.                 Graphics2D g2d2 = (Graphics2D) g;
  47.                  java.util.Date fecha = new Date();
  48. int [] diasDeMeses = new int [] {31,28,31,30,31,30,31,31,30,31,30,31,30,31};
  49. String [] numeroDeMeses = new String [] {"","1","2","3","4","5","6","7","8","9","10","11","12"};
  50. int mes = fecha.getMonth();
  51. System.out.println("mes: "+mes);
  52. int dia = fecha.getDay();
  53. int dia2=0;
  54. int dias = -1;
  55. for( int i = 0; i<mes; i++ ){
  56.     dia2=diasDeMeses[i];
  57. dias =dias + dia2;
  58. }
  59. dias += dia;
  60. String dias_acum=""+dias+"";
  61. if(dias_acum.length()==1){
  62. dias_acum="00"+dias_acum;
  63. }
  64. if(dias_acum.length()==2){
  65. dias_acum="0"+dias_acum;
  66. }
  67.                
  68.                 int iNumero=fecha.getYear();
  69.                 int anio = iNumero&#37;10;
  70.                 g2d2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
  71.                 g2d2.setPaint(Color.black);
  72.                Rectangle2D.Double rec_ind = new Rectangle2D.Double(-5, -5, 144, 203); //se tiene q quitar
  73.                 g2d2.draw(rec_ind);
  74.                 String customer = cus;
  75.                 Font customerFont = new Font("Arial", Font.BOLD, 14);
  76.                 String julian_ind = anio+dias_acum;
  77.                 Font julian_iFont = new Font("Arial", Font.BOLD, 10);
  78.                 Barcode barcode_c = BarcodeFactory.createCode39(cus, false);
  79.                 barcode_c.setDrawingText(false);
  80.                 barcode_c.setBarHeight(35);
  81.                 barcode_c.setBarWidth(1);
  82.                 BufferedImage image_c = BarcodeImageHandler.getImage(barcode_c);
  83.                  //parte de arriba
  84.                 g2d2.setFont(customerFont);
  85.                  FontMetrics customerfontMetrics = g2d2.getFontMetrics();
  86.                 g2d2.drawString(customer, 45, 16);
  87.                 g2d2.drawImage(image_c, 10, 21, null);
  88.                 g2d2.setFont(julian_iFont);
  89.                FontMetrics julian_ifontMetrics = g2d2.getFontMetrics();
  90.                 g2d2.drawString(julian_ind, 64, 70);
  91.                 ////parte de abajo
  92.                 g2d2.setFont(julian_iFont);
  93.                 FontMetrics julian_i2fontMetrics = g2d2.getFontMetrics();
  94.                 g2d2.drawString(julian_ind, 64, 200);
  95.                 g2d2.drawImage(image_c, 10, 150, null);
  96.                 g2d2.setFont(customerFont);
  97.                 FontMetrics customer2fontMetrics = g2d2.getFontMetrics();
  98.                 g2d2.drawString(customer, 45, 145);
  99.  
  100.  
  101.             } catch (OutputException ex) {
  102.                 Logger.getLogger(imprimir_individual.class.getName()).log(Level.SEVERE, null, ex);
  103.             } catch (BarcodeException ex) {
  104.                 Logger.getLogger(imprimir_individual.class.getName()).log(Level.SEVERE, null, ex);
  105.             } return PAGE_EXISTS;
  106.    }
  107.   }

probe con la configuracion del papel pero ni asi pude

si alguien puede ayudarnos se lo agradecere