powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кодировка при печати
25 сообщений из 34, страница 1 из 2
Кодировка при печати
    #39675131
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно вопрос как заставить терминальный принтер печатать кириллице?

взял код отсюда http://www.mets-blog.com/java-pos-thermal-printer-example/ там смущает вот эта строка
Код: java
1.
bytes = text.getBytes("CP437");
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675135
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УПС, сорри очепатька ))) ТЕРМАЛЬНЫЙ... ))))
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675137
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем проблема?

https://en.wikipedia.org/wiki/Code_page_437

Code page 437 is the character set of the original IBM PC (personal computer), or DOS. It is also known as CP437, OEM-US, OEM 437,[1] PC-8,[2] or DOS Latin US.[3] The set includes ASCII codes 32–126, extended codes for accented letters (diacritics), some Greek letters , icons, and line-drawing symbols.

С учетом, что кириллица произошла от греческого, вполне можете попытаться в CP437 на старословянском печатать ))) возможно для старословянского букв хватит )))

А на современном русском - читать инструкцию по принтеру. Какие шрифты и кодовые страницы он поддерживает.
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675148
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

интересно, создал обычный текстовой документ на нотпад++ кодировка ютф8
русские символы напечатались...
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675149
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тот же самый EPSON-TM-T20II
поддерживает как 866, так и 1251
инструкции и мануалы гугляться элементарно (если бумажных с принтером не дали, а должны были дать)
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675154
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
да сорри..
принтак: Xprinter XP-T300H
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675158
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарLeonid Kudryavtsev,

интересно, создал обычный текстовой документ на нотпад++ кодировка ютф8
русские символы напечатались...
)))

Если печатать на принтер как последовательность байт, то лучше с ESC командами Epson'а разобраться. В любом случае, скоре всего, и кодировку задавать нужно будет, и шрифт, и размеры....

IMHO
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675161
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарLeonid Kudryavtsev,
да сорри..
принтак: Xprinter XP-T300H
Х.з. смотреть инструкции

http://xprinter.com.ua/terms--conditions.html

какие-то мануалы с описанием упровляющих команд выложены. А дальше экспеременнами издеваться над принтером )))
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675166
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev....
какие-то мануалы с описанием упровляющих команд выложены. А дальше экспеременнами издеваться над принтером
....
Ну да. Мануалы на англоязычные версии.... Про Россию/Украину ничего не знают. Но если это не совершенная "кривость", то или 866 или 1251 кодовую страницу знать должны.

Ну или напрямую позвонить/написать производителю )))
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675170
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

ну там написан
PC866:Cyrillic#2
как я понимаю это и есть CP866?
но при этом когда указываю text.getBytes("CP866") получаю фигню...

может и не понимает только вот каким образом когда дал на печать из блокнота печатались русские буковки?
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675176
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарможет и не понимает только вот каким образом когда дал на печать из блокнота печатались русские буковки?
Печать из блокнота идет через драйвер принтера Windows

Музаффарну там написан
PC866:Cyrillic#2

можно ссылку, где "там" ?

Музаффарно при этом когда указываю text.getBytes("CP866") получаю фигню...

AFAIK для этого в принтере должена быть выбрана Codepage 866 (или шрифт). Обычно это или из меню принтера устанавливается или програмно ESC командами во входном потоке

AFAIK
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675178
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevможно ссылку, где "там" ?


вы же сами указали

http://xprinter.com.ua/terms--conditions.html

вот там Xprinter 80XX Programmer Manual (latest version)
страница 29я )
...
Рейтинг: 0 / 0
Кодировка при печати
    #39675187
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и укажи данную команду перед текстом. Если инструкция действительно от твоего принтера, должно помочь. IMHO

ByteArrayOutputStream out = new ....;
out.write( 27 ); // ESC
out.write( 116 ); // t
out.write( 17 ); // 866 codepage
out.write( "Привет".getBytes("CP866" ) );
...
Рейтинг: 0 / 0
Кодировка при печати
    #39677099
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

спасибо, помогло! теперь остается поработать с jasperreports...
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723020
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
походу придется опять поднять этот вопрос
подскажите плийз как воткнуть ESC команды при отправке на сетевой принтер

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public static void main(String argv[]) throws Exception {
        Socket clientSocket = new Socket("192.168.1.199", 9100);

        OutputStream oStream = clientSocket.getOutputStream();

        
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        String text = "цуйцуйцу\n\n\n\n";
        out.write(27); // ESC
        out.write(116); // t
        out.write(17); // 866 codepage
        out.write(text.getBytes("CP866"));
        byte[] bytes;
        bytes = out.toByteArray();
        oStream.write(bytes);


        clientSocket.close();
    }



пока так не работает...
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723061
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
как ты определяешь, что не работает?
что за команда 27 116 17 ?
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723067
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

выведи в файл и посмотри что в нем в байтах
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723236
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяМузаффар,
как ты определяешь, что не работает?
что за команда 27 116 17 ?

это команды ESC
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723891
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорцы - трэш. Неужели нет никакого API чтоб эти escape последовательности завернуть в нормальный интерфейс с человеческим лицом?
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723910
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
три байта - апи? интерфейс?
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmayton,
три байта - апи? интерфейс?
Почему тебя беспокоит complexity? Это вопрос принципа. Вот если бы был api, то и топик бы не возник.
...
Рейтинг: 0 / 0
Кодировка при печати
    #39723949
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonвадяmayton,
три байта - апи? интерфейс?
Почему тебя беспокоит complexity? Это вопрос принципа. Вот если бы был api, то и топик бы не возник.
апи для чего? чем отличается передаваемый текст на печать и esc команды? дело принцыпа? нагородить кучу кода для передачи 3 байт?
http://qaru.site/questions/628958/send-printer-commands-via-socket-in-java
...
Рейтинг: 0 / 0
Кодировка при печати
    #39724000
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmaytonпропущено...

Почему тебя беспокоит complexity? Это вопрос принципа. Вот если бы был api, то и топик бы не возник.
апи для чего? чем отличается передаваемый текст на печать и esc команды? дело принцыпа? нагородить кучу кода для передачи 3 байт?
http://qaru.site/questions/628958/send-printer-commands-via-socket-in-java
Не быть тебе архитектором.
...
Рейтинг: 0 / 0
Кодировка при печати
    #39724073
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПочему тебя беспокоит complexity? Это вопрос принципа. Вот если бы был api, то и топик бы не возник.
+
так и есть
...
Рейтинг: 0 / 0
Кодировка при печати
    #39724107
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе быть тебе архитектором.
тут и не надо быть архитектором...
простой вывод 3байтов - это рростой вывод.
эти байты ничем не отличаются от печатаемых символов. и если у ТС, не получается то надо определиться, что не работает, и апи тут не помогут.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Кодировка при печати
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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