Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Java и ESC/POS / 18 сообщений из 18, страница 1 из 1
21.02.2007, 17:31
    #34347977
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Господа, а с сабжем кому-нить работать доводилось?
Зело благодарен за помощь или примерчик буду. А то никак не могу заставить принтер печатать.
...
Рейтинг: 0 / 0
21.02.2007, 18:33
    #34348235
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
А что сложного? Отправляем команду и всё.
...
Рейтинг: 0 / 0
26.02.2007, 22:32
    #34356203
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Ну если бы все было так просто то я бы сюда не писал. Инициализация проходит, а вот что-то отпечатать не получается.
...
Рейтинг: 0 / 0
27.02.2007, 13:09
    #34357393
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Понимаете ли в чём проблема... Вы не написали какой у вас принтер. Вы не написали каким способом вы с ним работаете (JavaPOS, напрямую). Я вам могу написать пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
    
 public   void  print(String line)  throws  IOException {
         char [] chars = translateString(line.toCharArray());
         for ( int  i =  0 ; i < chars.length; i++) {
            getDos().write(chars[i]);
        }
    }
Только я крупно сомневаюсь что вам это чем либо поможет. Дайте больше информации, будет больше помощи. Сейчас вам поможет только высоквалифицированный телепат.
...
Рейтинг: 0 / 0
27.02.2007, 13:25
    #34357463
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Итак, работаю напрямую. Без JavaPOS. На данный момент принтер Epson TM-T90, но он будет меняться на Fujitsu Termal Printer с контроллером Trentino. Контроллер сей держит ESCPOS.
Насколько я понимаю писать надо напрямую в порт, принтер висит на COM10.
...
Рейтинг: 0 / 0
27.02.2007, 13:40
    #34357538
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Да, к портам через RXTX ломлюсь.
...
Рейтинг: 0 / 0
27.02.2007, 13:58
    #34357621
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Ну на TM-T90 в приципе всё должно быть просто. Он просто должен печатать любой символ, че код к нему приходит. Если не получается, то как-то не правильно настроена либа для работы с com-портом.
Вот такой тестик (если используется JavaComm, для остального будет что-нибудь похожее) должен распечатать одно слово.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
        CommPortIdentifier cpi = CommPortIdentifier.getPortIdentifier(port);
        commport = cpi.open("Printer", 100 );
        OutputStream os = commport.getOutputStream();
        DataOutputStream dos =  new  DataOutputStream(os);
        //init 
        dos.write( 27 );
        dos.write( 116 );
        dos.write( 18 );
        //testPrint
        dos.write('H');
        dos.write('e');
        dos.write('l');
        dos.write('l');
        dos.write('o');
        dos.close();
        os.close();
Если не работает значит либо не тот порт, либо неправильно настроена либа для работы с портом. Плюс ещё советую запросить у EPSON'a Advanced Specification для этого принтера. Там куча дополнительных команд, которые не описаны в сандартных Reference Guides.
...
Рейтинг: 0 / 0
27.02.2007, 14:22
    #34357727
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Печатает, но какие-то кракозябры несусветные.
...
Рейтинг: 0 / 0
27.02.2007, 14:46
    #34357845
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
А вот это:
Код: plaintext
1.
2.
3.
        //init 
        dos.write( 27 );
        dos.write( 116 );
        dos.write( 18 );
Что такое?
С этим не работает вовсе, с заменой на
Код: plaintext
1.
2.
 public   static   final   byte [] INIT = {0x1B, 0x40};
dos.write(INIT);
Печатает кракозябры, есть ощущение что надо встать в нужную таблицу символов, но как это сделать непонятно.
...
Рейтинг: 0 / 0
27.02.2007, 15:01
    #34357917
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
 import  gnu.io.CommPort;
 import  gnu.io.CommPortIdentifier;
 import  gnu.io.NoSuchPortException;
 import  gnu.io.PortInUseException;
 import  java.io.DataOutputStream;
 import  java.io.IOException;
 import  java.io.OutputStream;

/**
 *
 * @author moonmike
 */
 public   class  Main
{
    
     private   static   final   byte [] CODE_TABLE_866 = {0x1B, 0x74, 0x11};
     public   static   final   byte [] INIT = {0x1B, 0x40};
    
     public   static   void  main(String[] args)
    {
         try 
        {
            CommPortIdentifier cpi = CommPortIdentifier.getPortIdentifier("COM10");
            CommPort commport;
            commport = cpi.open("Printer",  100 );
            OutputStream os;
             try 
            {
                os = commport.getOutputStream();
                DataOutputStream dos =  new  DataOutputStream(os);
                dos.write(INIT);
                dos.write(CODE_TABLE_866);
                dos.write('H');
                dos.write('e');
                dos.write('l');
                dos.write('l');
                dos.write('o');
                dos.flush();
                dos.close();
                os.close();
            }
             catch  (IOException ex)
            {
                ex.printStackTrace();
            }
        }
         catch  (PortInUseException ex)
        {
            ex.printStackTrace();
        }
         catch  (NoSuchPortException ex)
        {
            ex.printStackTrace();
        }
        
        System.exit( 0 );
    }
    
}
...
Рейтинг: 0 / 0
27.02.2007, 15:29
    #34358023
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
moonmikeА вот это:
Код: plaintext
1.
2.
3.
        //init 
        dos.write( 27 );
        dos.write( 116 );
        dos.write( 18 );
Что такое?

А это меня сглючило=) Я с чего-то решил что это ESC @ в десятичном виде, сорри. Если крякозябры печатает значит стоит какой-то не такой Character set, либо у TM-T90 другие коды для character set'ов. У TM-u220 character set выставлялся через ESC R n (0x1B 0x52) где у n значения от 0 до 15. 0 -English. Вообще это все должно быть расписано в спецификациях к TM-T90.
...
Рейтинг: 0 / 0
27.02.2007, 15:36
    #34358054
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Да вон она таблица то выставляется, в полном соответствии с документацией. Только толку ноль. Может подскажешь кого еще можно подергать.
...
Рейтинг: 0 / 0
27.02.2007, 15:41
    #34358075
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
PRINT # 1 , CHR$(&H1B);"@"; 'Initializes the printer (ESC @)
PRINT #1, CHR$(&H1B);"a";CHR$(1);'Specifies a centered printing position (ESC a)
PRINT # 1 , CHR$(&H1B);"!";CHR$( 0 ); 'Specifies font A (ESC !)
PRINT #1, "January 14, 2002 15:00";
PRINT #1, CHR$(&H1B);"d";CHR$(3); 'Prints and  3  line feeding (ESC d)
PRINT # 1 , CHR$(&H1B);"a";CHR$( 0 ); 'Selects the left print position (ESC a)
PRINT #1, CHR$(&H1B);"!";CHR$(1); 'Selects font B
PRINT # 1 , "TM-U210B $20.00";CHR$(&HA);
PRINT # 1 , "TM-U210D $21.00";CHR$(&HA);
PRINT # 1 , "PS-170 $17.00";CHR$(&HA);
PRINT # 1 , CHR$(&HA); 'Line feeding (LF)
PRINT #1, CHR$(&H1B);"!";CHR$(17); 'Selects  double -height mode
PRINT # 1 , "TOTAL $58.00"; CHR$(&HA);
PRINT # 1 , CHR$(&H1B);"!";CHR$( 0 ); 'Cancels double-height mode
PRINT #1, "------------------------------";CHR$(&HA);
PRINT #1, "PAID $60.00";CHR$(&HA);
PRINT #1, "CHANGE $ 2.00";CHR$(&HA);
PRINT #1, CHR$(&H1D);"V";CHR$(66);CHR$(0); 'Feeds paper & cut
’Drawer Kick (ESC p)
PRINT # 1 , CHR$(&H1B); CHR$(&H70); CHR$(&H0); CHR$( 60 ); CHR$( 120 );
...
Рейтинг: 0 / 0
27.02.2007, 15:54
    #34358117
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Пробовал перевести его на Java - болт.
...
Рейтинг: 0 / 0
27.02.2007, 15:56
    #34358127
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Я писал на rsd.info@epson.de , а вообще надо связываться с локальным саппортом. Российский тут-http://support.epson.ru/contact.asp.
...
Рейтинг: 0 / 0
02.03.2007, 10:57
    #34365928
moonmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Мда, локальный суппорт......ну в общем промолчу. А немцам по немецки писать аль на англицком можно?
...
Рейтинг: 0 / 0
02.03.2007, 16:54
    #34367613
jusio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
Я на англицком писал. При желание можно и на немецком=)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.02.2014, 22:54
    #38557862
Husqvarna555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java и ESC/POS
jusioЯ на англицком писал. При желание можно и на немецком=)

И это разве проблема?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Java и ESC/POS / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]