![]() |
|
v7: Печать на матричный принтер. | ☑ | ||
---|---|---|---|---|
0
bizon2008
16.07.11
✎
00:32
|
День добрый. Стал вопрос о печати на матричный принтер. Нужна большая скорость. Я знаю только один вариант, создать текстовый файл, и отправить его на притер. еще варианты есть. Заранее спасибо.
|
|||
1
Kookish
16.07.11
✎
05:26
|
Еще варианты есть. Печатать прямо в порт LPT, если найдешь.
|
|||
2
Kookish
16.07.11
✎
05:33
|
Постой, я что, отстал от жизни? И уже появились матричники, печатающие по 10-20 страниц в минуту? Или жаба душит лазерник купить? Kyocera, например, в последнее время неплохие принтеры делает, и экономные. 10 тыс. листов на одной заправке (в экономном режиме).
|
|||
3
skunk
16.07.11
✎
05:42
|
(2)попробуй на лазарнеки ввести протоклирование действий пользователя в системе
|
|||
4
andrewks
16.07.11
✎
07:35
|
(3) сопсна вопрос - а нафига?
|
|||
5
Mikeware
16.07.11
✎
08:12
|
(2)ты не только "отстал", ты ее, похоже, и не догонял...
допустим, тот же DFX-9000 имеет скорость печати 1500 символов в секунду. 15 страниц в минуту... причем при этом может печатать сразу на рулонной самокопирке (считай, еще умножить на 2). я уж не говорю про крутые матричники... (4) например, протоколировать события в ОПС... Чтоб не было возможности "подкорректировать". |
|||
6
andrewks
16.07.11
✎
08:19
|
(5) 2. а чё, лить логи в стороннюю защищённую базу (можно даже на другой компе) не проще?
|
|||
7
skunk
16.07.11
✎
08:29
|
(6)логи ... в отличии от бумажных носителей, заверенных подписями и печатями, не являються в доказательством в суде ... тем более логи легко подделать ...
|
|||
8
andrewks
16.07.11
✎
08:30
|
(7) банки?
|
|||
9
skunk
16.07.11
✎
11:37
|
(8)ну да ... идея была закоммуниздина у банков ... но использовалась в оптво-розничной торговле ... дабы управляющие не могли навариваться на скидках
|
|||
10
Злопчинский
16.07.11
✎
13:14
|
(9) каким образом протоколирование противодействует навариванию управляющими на скидках?
|
|||
11
Torquader
16.07.11
✎
13:53
|
Во-первых, цена матричного отпечатка получается дешевле все (правда сейчас ей конкуренцию составляют термопринтеры, но у них свои недостатки).
Во-вторых, матричный принтер позволяет напечатать сразу несколько экземпляров, что позволяет сохранить журнал операций на рулоне (который сложно подделать). В-третьих, печать на матричном принтере идёт построчно, что исключает потерю информации в процессе накопления страницы (этой особенностью обладают ещё и струйные принтеры, но там расплывающиеся чернила). В четвёртых, матричные принтеры абсолютно не требовательны к качеству бумаги, тогда как для других типов принтеров требуется специальная бумага. в пятых, отпечаток матричного принтера невозможно стереть с бумаги так, чтобы это было невозможно определить (для струйных и лазерных существуют способы). Быстрее матричного принтера оказывалось только барабанное АЦПУ, но там ограниченный набор символов (современные лазерные принтеры, конечно печатают быстрее, в расчёте на лист, но они совершенно не умеют печатать на рулонах - точнее сказать - недопустима остановка рулона в момент печати). |
|||
12
skunk
16.07.11
✎
15:42
|
(10)тупо и банально позволяет определить что покупал клиент в момент первоначального проведения документа ...
|
|||
13
Сияющий Асинхраль
16.07.11
✎
15:49
|
(11) У хороших матричников только один недостаток, с которым я имел несчастье познакомиться, хорошие (подчеркиваю действительно хорошие) матричные принтеры с убойной скоростью печати 15-20 страниц в минуту очень мало кто умеет ремонтировать, особенно на периферии, где такого добра днем с огнем не сыщешь. Пару месяцев решал вопрос с принтером который жевал ленту, штук пять контор обошел, все бестолку. Может в нерезиновой с этим попроще...
|
|||
14
Джинн
16.07.11
✎
15:53
|
Да, только теплый ламповый звук является кошерным...
Кто этого не понимает - просто лохи. |
|||
15
bizon2008
16.07.11
✎
16:54
|
(1)У меня 300 епосоны. Они универсалы. У них есть COM и LPT. И то и то у меня есть. COM предпочтительней.
Печать чеков, логов. Преимущество рулонная подача, построчная печать, высокая скорость, если встроенные шрифты использовать. |
|||
16
Torquader
16.07.11
✎
21:24
|
(13) Если жевал - то иголочка в головке не возвращается на место и просто протыкает ленту - стандартная неисправность - обычно меняют головку целиком - конечно - можно разбирать и ремонтировать - но вспоминается, как страшный сон, так как работа ювелирная, а результат далёк от стопроцентного.
P.S. обычно новая головка от пятидесяти до ста баксов. |
|||
17
bizon2008
16.07.11
✎
22:12
|
Да нехрена. Я этих головок перебрал. В свое время кучу. Самое фиговое когда катушка горит. Но я даже их умудрялся перематывать. Не со всеми фишка проходила, но довольно часто успешно. А принтеры эти, б\у у мне тут по 15-20 баксов. Валом.
|
|||
18
VoditelKobyly
18.07.11
✎
05:48
|
(0) Скорее всего варианты есть только для создания такого текстового файла.
|
|||
19
Escander
18.07.11
✎
07:28
|
(0) ну типа привет из далёкого прошлого:
ТПрн=СоздатьОбъект("Текст"); ТПрн.Очистить(); ТПрн.КодоваяСтраница(0); ................................... ТПрн.ДобавитьСтроку(AnsiToOem(chr(15)+" ОПЛАТА ПРОИЗВОДИТСЯ В ТЕЧЕНИИ 3-х ДНЕЙ СО ДНЯ ВРУЧЕНИЯ Приложение №1 | к Правилам ведения журналов учета полученных и выставленных счетов-фактур, | книг покупок и книг продаж при расчетах по налогу на добавленную стоимость, | утвержденным постановлением Правительства РоссийскойФедерации от 2 декабря 2000 г. N 914 | (в редакции постановлений Правительства Российской Федерации от 15 марта 2001 г. N 189, | от 27 июля 2002 г. N 575, от 16 февраля 2004г. №84)")); ТПрн.ДобавитьСтроку(AnsiToOem(" СЧЕТ-ФАКТУРА "+СокрЛ(НомерДок)+" от "+Формат(ДатаДок ,"Д (0)ДДММММГГГГ") )); ТПрн.ДобавитьСтроку(AnsiToOem(ПечПоставщик)); ТПрн.ДобавитьСтроку(AnsiToOem(ПечАдресПоставщика)); ........................................ ТПрн.ДобавитьСтроку(AnsiToOem("Директор филиала 'Бла-Бла-Бла' "+ПадежП(Клиент.ДолжностьРуководителя,2) )); ТПрн.ДобавитьСтроку(AnsiToOem(" ")); ТПрн.Записать("c:\1sensf.txt"); ФС.КопироватьФайл("c:\1sensf.txt","lpt1:",0); ФС.УдалитьФайл("c:\1sensf.txt"); |
|||
20
Mikeware
18.07.11
✎
07:31
|
(19) да можно и таблицу в текст конвертить. не проблема. вплоть до отрисовки рамок псевдографикой.
сложности там только во флаге выравнивания в ячейке. |
|||
21
Escander
18.07.11
✎
07:31
|
(2) а разве их не стало? Лет 15 назад, когда работал в банке там стоял DECовский матричник, работал тихо как пулемёт вулкан (поэтому стоял в коридоре а не в кабинете), но скорость... не то что какие-то отстойные лазерники!
|
|||
22
Mikeware
18.07.11
✎
07:34
|
(21) DEC, насколько помн, принтеров не выпускал...
|
|||
23
Escander
18.07.11
✎
07:34
|
(20) не, ну не приводить-же мне весь код!
вот типа ещё кусок даже без псевдографики (чёрточки и воскл. знаки, но на любом печатало однохренственно): ТПрн.ДобавитьСтроку(AnsiToOem(" АКТ ПРИЕМКИ-ПЕРЕДАЧИ ВЫПОЛНЕННЫХ РАБОТ" )); ТПрн.ДобавитьСтроку(AnsiToOem(" от "+Формат(ДатаДок ,"Д (0)ДДММММГГГГ") )); ТПрн.ДобавитьСтроку(AnsiToOem(" Продавец: "+Фирма.Грузоотправитель+" | именуемое в дальнейщем Исполнитель, в лице директора Ивано В.В.,с одной стороны и | Покупатель "+Клиент.ПолнНаименование+" | именуемое в дальнейшем Заказчик, в лице "+?(ПустаяСтрока(Клиент.ДолжностьРуководителя)=0,ПадежП(Клиент.ДолжностьРуководителя,2)+" "+Падеж(Клиент.ФИОДиректора,2),"_____________________")+", с другой стороны | составили настоящий акт о том, что Исполнитель оказал услуги за "+ПериодСтр(НачМесяца(ДатаДок),КонМесяца(ДатаДок))+" по договору № "+Строка(Клиент.Код)+" в объеме:")); ТПрн.ДобавитьСтроку(AnsiToOem("___________________________________ ____ __________ ____________________________")); ТПрн.ДобавитьСтроку(AnsiToOem(" Наименование !Стоимость услуг! Сумма ! Стоимость услуг | оказанных услуг ! без налога ! налога !всего с налогом")); ТПрн.ДобавитьСтроку(AnsiToOem("___________________________________!_______________!__________!_________________")); |
|||
24
Escander
18.07.11
✎
07:36
|
(22)но продавал под своей маркой, за года 3 эксплуатации у него кроме расходников была только 1 поломка - шестерёнка, 150$ что-ли...
|
|||
25
Mikeware
18.07.11
✎
07:40
|
(23) Я не о малом количестве кода.
я о том, что можно разбирать сформированную таблицу через ПолучитьОбласть(), и на основе этого формировать текстовый файл. |
|||
26
Escander
18.07.11
✎
07:42
|
(25) в клюшках?
|
|||
27
Escander
18.07.11
✎
07:42
|
(22)кста, получается выпускал до 1997 http://www.osp.ru/cw/1997/31/22820/
|
|||
28
Mikeware
18.07.11
✎
07:56
|
(27) Не знал, что это их подразделение и торговая марка...
|
|||
29
bizon2008
18.07.11
✎
10:53
|
Но это все опять через создание файла. Это я умею.
ТПрн.Записать("c:\1sensf.txt"); ФС.КопироватьФайл("c:\1sensf.txt","lpt1:",0); ФС.УдалитьФайл("c:\1sensf.txt"); Напрямую можно как-то отправить? |
|||
30
bizon2008
18.07.11
✎
12:06
|
Народ не спать. Гоните варианты.
|
|||
31
Mikeware
18.07.11
✎
12:08
|
(30) ну, компоненту напиши :-)
|
|||
32
skunk
18.07.11
✎
12:13
|
внематочно читать про метод печать объекта таблица
|
|||
33
Ork
18.07.11
✎
12:15
|
(30) Можно леХко сделать в VBS через FileSystemObject. Открывать файл на устройстве PRN: COM: LPT1: или LPT2: и писать внего напрямую.
Есть правда одна фишка (относится к Epson-ам FX и LX) начинают непосредственно вывод на бумагу либо при заполнении на сколько-то процентов памяти либо при получении символа ВК-ПС либо Контрол-Зет(всмысле конец файла). |
|||
34
skunk
18.07.11
✎
12:16
|
(33)нах
|
|||
35
Ork
18.07.11
✎
12:17
|
(34) А обосновать?
|
|||
36
skunk
18.07.11
✎
12:18
|
что
|
|||
37
Ork
18.07.11
✎
12:18
|
(36) мысль из (34)
|
|||
38
skunk
18.07.11
✎
12:19
|
(37)прочти (29) и хорошо подумай
|
|||
39
Ork
18.07.11
✎
12:21
|
(38) Ему хочется напрямую в порт. Без создания файла на ХаДеДе.
И что не так? |
|||
40
Ork
18.07.11
✎
12:27
|
+(39) Или базар за то, что предлагается работать с устройством, как с файлом? Так это же не совсем одно и тоже, что писать в файл, а потом его отправлять на устройство. И даже сильно наоборот.
|
|||
41
bizon2008
18.07.11
✎
12:49
|
(40)Наоборот это как? Отправить на устройство, а потом записать в файл?
|
|||
42
skunk
18.07.11
✎
12:55
|
а записать("prn") что дает ...
|
|||
43
bizon2008
18.07.11
✎
15:00
|
Добыл принтер. Ща буду его насиловать.
|
|||
44
bizon2008
18.07.11
✎
16:10
|
То ли меня память подводить. То ли я его не так настроил. Но что-то печатает он не быстро.
|
|||
45
Escander
19.07.11
✎
06:31
|
(44) исходники не помогли? ну тогда справочник по управляющим кодам в руки и вперёд на ускорение!
|
|||
46
smaharbA
19.07.11
✎
06:35
|
(44) отправляешь текст или как ?
|
|||
47
Mikeware
19.07.11
✎
07:29
|
(44) режим печати скорее всего стоит LQ. ставь draft, и будет щастье...
плс управляющими кодами, или свичами, или настройкой через меню - установить печать в двух направлениях, и т.д и т.п. |
|||
48
Chum
19.07.11
✎
07:32
|
copy filename.txt prn
Управляющие коды тоже покурить не мешает. Коды вставляют в начало файла или перед печатью файла отправляют отдельный файл с кодами на принтер |
|||
49
Mikeware
19.07.11
✎
07:36
|
(48) Коды вставляют и непосредственно в текст...
например, "включить удвоенную ширину" или "удвоенную высоту", и ли отключить их... |
|||
50
Chum
19.07.11
✎
07:41
|
(49) да-да
|
|||
51
bizon2008
04.08.11
✎
14:26
|
Так все победил. Осталось одно проблема. Сто силе в управляющих кодах?
Нужно бумагу подавать немного назад. А то много свободного места, перед началом чека. |
|||
52
andrewks
04.08.11
✎
14:29
|
||||
53
bizon2008
04.08.11
✎
14:50
|
Матричный принтер печатаю через файл. Все зашибись, но что конец чека подъехал к обрыву надо добавить несколько пустых строк, и получается перед каждым следующим чеком полоса пустой бумаги
Надо ее как-то назад ее откатить |
|||
54
bizon2008
04.08.11
✎
15:54
|
ау
|
|||
55
bizon2008
04.08.11
✎
22:46
|
уа
|
|||
56
Креатив
04.08.11
✎
23:02
|
(55)Печатай в файл с именем lpt. А так матричный принтер видит конец файла и делает прогон. Можешь, конечно почитать про управляющие символы в инструкции по принтеру. И их всунуть в начало файла.
|
|||
57
bizon2008
04.08.11
✎
23:13
|
Он не делает прогон бумаги. Прогон бумаги делаю я напихав в конец файла пустых строк.
|
|||
58
Креатив
04.08.11
✎
23:14
|
(57)Тогда не понял проблемы.
|
|||
59
bizon2008
04.08.11
✎
23:21
|
Проблема в том, в начале следующего чека появляется пустая область. Хотелось бы откатит назад этот кусочек.
|
|||
60
Креатив
04.08.11
✎
23:23
|
брррр
Если ты его специально создаёшь, тогда зачем откатывать? Кстати, печатаешь-то на рулонной бумаге? |
|||
61
bizon2008
04.08.11
✎
23:25
|
Бумагу жалко. Да и не красиво выглядит. Я эстет.
Печатаю я на рулоне. |
|||
62
Креатив
04.08.11
✎
23:28
|
(61)Я так и не понял, для чего тебе нужны пустые строки?
|
|||
63
дущ
04.08.11
✎
23:32
|
(59) А ты просто печатай там шапку следующего чека (она, как правило статична), затем команда "отрез", в результате в принтере остается кусочек с шапкой, а следующий чек уже без шапки. Т.е. шапку чека всегда в конце печатай.
|
|||
64
bizon2008
04.08.11
✎
23:35
|
(63)Опа. А это идея.Спасибо.
(62)Чтоб низ чека подполз к линии обрыва. |
|||
65
bizon2008
04.08.11
✎
23:56
|
Притер Epson 300
|
|||
66
lals
05.08.11
✎
00:33
|
Вот тут есть описалово с системой команд.
http://support.epson.ru/manual_list.asp?product=115 |
|||
67
lals
05.08.11
✎
00:43
|
||||
68
lals
05.08.11
✎
01:08
|
А еще я когдато на бейсике чтобы узнать какой код что делает с принтером юзал цикл с выводом на принтер
ну в нашем случае это бы выглядело гдето так: Процедура Сформировать() Текст = СоздатьОбъект("Текст"); ИмяФайла = КаталогИБ()+"Проверка.txt"; Для а = 1 По 30 Цикл Стр =Симв(а); Текст.ДобавитьСтроку(Стр); Стр = "Съешь этих мягких французских булок " + а Текст.ДобавитьСтроку(Стр); КонецЦикла; Текст.Записать(ИмяФайла); ФС.Копироватьфайл(ИмяФайла,"prn",1); КонецПроцедуры посмотришь какая "а" что делает. |
|||
69
lals
05.08.11
✎
01:11
|
Стр = "Съешь этих мягких французских булок " + а;
точку с запятой пропустил |
|||
70
bizon2008
05.08.11
✎
11:21
|
Спасибо за идеи. Но это я все знаю.
|
|||
71
syktyk
05.08.11
✎
11:30
|
Смотри в сторону LinePrinter типо таких: http://www.genicom.com/Pages/Products/line_matrix_2-col_dyn.aspx?id=7352
1500 - 2000 строк в минуту. Скока будет в страницах? И драйверы под все винды есть :) |
|||
72
bizon2008
05.08.11
✎
14:58
|
Притер Epson 300 у мнея их десяток.
|
|||
73
Kreont
05.08.11
✎
15:19
|
(72) Есть парочка мануалов по командам (5 МБ), сбросить на почту?
|
|||
74
bizon2008
05.08.11
✎
15:56
|
На русском? По аглийси есть на сайте епсон.
|
|||
75
Kreont
05.08.11
✎
16:10
|
(74) + на ангельском :) я по нему и настраивал сначала через тест файл: (Far + hiew32)
|
|||
76
bizon2008
05.08.11
✎
16:12
|
(75)Такого добра валом. Вот от пример бы не отказался.
|
|||
77
Kreont
05.08.11
✎
16:28
|
(76) Упр. коды для EPSON 890FX (под 7-ку писал), что делают:
инициализация + уставнока CP1251 + ультра турбо режим :) (USD) Массив[1] = 27; Массив[2] = 64; Массив[3] = 27; Массив[4] = 40; Массив[5] = 116; Массив[6] = 03; Массив[7] = 00; Массив[8] = 00; Массив[9] = 49; Массив[10] = 00; Массив[11] = 27; Массив[12] = 116; Массив[13] = 00; Массив[14] = 27; Массив[15] = 121; Массив[16] = 02; Массив[17] = 27; Массив[18] = 80; Массив[19] = 27; Массив[20] = 120; Массив[21] = 00; Массив[22] = 27; Массив[23] = 70; Массив[24] = 18; Массив[25] = 27; Массив[26] = 84; Массив[27] = 27; Массив[28] = 53; Массив[29] = 27; Массив[30] = 72; Массив[31] = 27; Массив[32] = 119; Массив[33] = 00; Массив[34] = 27; Массив[35] = 119; Массив[36] = 00; Массив[37] = 27; Массив[38] = 97; Массив[39] = 00; Массив[40] = 13; Массив[41] = 10; |
|||
78
Kreont
05.08.11
✎
16:29
|
+(77) Отдельно печать штрих кода:
МассивШК[1] = 27; МассивШК[2] = 40; МассивШК[3] = 66; МассивШК[4] = 18; МассивШК[5] = 0; МассивШК[6] = 0; МассивШК[7] = 2; МассивШК[8] = 0; МассивШК[9] = 32;//125 МассивШК[10] = 0; МассивШК[11] = 3; Потом сам код |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |