|
|
|
Epson TM-U950P
|
|||
|---|---|---|---|
|
#18+
Есть принтер Epson TM-U950P, который печатает всевозможные чеки, клише на подкладном документе..., подключается через lpt. Мне интересно как на него печатать программно. Я так полагаю что можно просто отправлять в порт lpt1 необходимую инфу и он будет печатать, но на сколько я понял, для того чтобы он печатал то что нужно и где нужно ему нужно отправлять определенные кодовые последовательности, но мануала нигде не могу найти! Если кто сталкивался подскажите по возможности, а если у кого мануал будет буду вообще благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2008, 13:20:53 |
|
||
|
Epson TM-U950P
|
|||
|---|---|---|---|
|
#18+
Чтоб всем все стало ясно принтер TM-U950P умеет печатать на подкладном документе (половинка A4), а так же на двух лентах, журнальной и чековой. Для печати на в определенном месте принтеру нужно подать управляющую последоватедбность. В приведенном мной примере есть две последовательности: \033c0\004\033c1\004\033{1 - указывает что печатать нужно на подкладном документе; \015\012\014 - прокрутить документ; Я расковырял из файлов prn, которые случайно получил при эксперементах с принтером, еще ряд последовательностей, но в неудобоваримом виде, например: Для подкладного документа: sKod1 := 'c0c1{1'; //- печать на подкладном документе sKod2 := ' '; //- прокрутка документа; Для Чековой части: sKod1 := '@c0{'; // - печать чека sKod2 := 'i'; // - отрезка бумаги sKod3 := ''; // - прокрутка Для журнальной части: sKod1 := ' c0c1'; // - печать в журнал sKod3 := ''; // - прокрутка бумаги То есть вот такая процедура: procedure TForm1.BitBtn2Click(Sender: TObject); var sStr : string; asStr : AnsiString; pr :TextFile; sKod1, sKod2, sKod3 : AnsiString; begin sKod1 := '@c0{'; // - печать чека sKod2 := 'i'; // - отрезка бумаги sKod3 := ''; // - прокрутка AssignFile(pr,'PRN:'); Rewrite(pr); Writeln(pr,sKod1); Writeln(pr,'test test'); Writeln(pr,WinToDos('Тест Тест')); Writeln(pr,sKod3); Writeln(pr,sKod2); CloseFile(pr); end; Распечатает чек и отрежит его. А мне хотелось бы понять как самостоятельно формировать такие последовательности в удобочитаемом виде, как например в моем первом примере. Я знаю что возможна печать сразу и на журнальную часть и на чековую, а расковырять не могу. Коды я впринципе нашел, а вот как их преобразовывать в нужный формат я непойму. И как расшифровать эти наборы последовательностей, которые у меня вышеуказаны в видах подобных - @c0{ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2008, 10:07:09 |
|
||
|
Epson TM-U950P
|
|||
|---|---|---|---|
|
#18+
Это пример на который я ссылался в прошлом сообщении: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2008, 10:10:39 |
|
||
|
Epson TM-U950P
|
|||
|---|---|---|---|
|
#18+
Методом научного тыка я раскопал последовательности. Может кому пригодятся. Для Delphi это выглядит вот так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2008, 18:04:47 |
|
||
|
|

start [/forum/topic.php?fid=30&msg=35159747&tid=1532055]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
451ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 773ms |

| 0 / 0 |
