-
> Ну так и надо жаловаться на СОМ а не на USB, у USB2 скорость > может достигать 60мб/сек, LPT даже самые скоростные так > не могут. Это же половина скорости 1 гигабита.
Согласен, неправильно сформулировал замечание. Переформулирую так
При работе с чековыми принтерами и печати из под Windows (через Windows-драйвер) будьте внимательны при выборе USB или LPT - моделей. Вследствии реализации драйвера (либо самой модели принтера) разница в скорости печати может достигать несколько раз. Причем как в сторону LPT так и в сторону USB. COM - модели принтеров в данном случае не рекомендуется использовать, так как скорость печати через Windows-драйвер очень низкая.
-
>AndreyV © (12.06.08 13:51) [38] >Вот на перфорированной бумаге, в соответсвующем режиме, прокрутка идёт только до конца страницы.
Понятие "конец страницы" для подавляющего большинства МП это всего лишь сброс счетчика строк, установленного по умолчанию (в ПЗУ или переключателями) или программно. При этом ему пофиг пробивка листовой бумаги. Пробивку они понимают, но только в плане печатать на ней лил пропускать. Правда для рулонной бумаги такой проблемы нет конечно.
Был один принтер (не помню марки, но здоровенный такой), у которого была классная команда - "прогон до пробивки". Беда всего этого в том, что невозможно программно установить где именно (в какой части листа) заправлена (установлена) бумага перед началом печати и полагаться приходится только на оператора, подгоняющего границу листа вручную.
Еще одна проблема - это "проскальзывание" бумаги по валикам или, наоборот, задержка (например из-за излишне сильного натяга от рулона или податчика бумаги) - в этом случае печать "сбивается" и происходит смещение, что приводит к тому, что инормация листов перелазит на следующий лист бумаги. Это все, ессно, о листовой бумаге. Проблема не слишком актуальная при наличии перфорации у бумаги и соответствующего механизма подачи у принтера. Если же нет того или друго, то печать больших объемов требует постоянного надзора с приостановом и подгоном бумаги вручную. В общем штука гадкая, но, к сожалению, никак программно не боримая.
И, наконец, последнее - при зарядке бумаги перед печатью принтер может загнать ее на разную высоту - гадкая вещь, если надо печатать много небольших отчетов по 2-3 листа. Опять же контроль только глазами, а "лечение" - руками.
Т.е. с матричными принтерами мороки, конечно же, куда больше. И оправдывает их лишь то, что экономия на одной только бумаге весьма солидная. Во всем остальном ЛП предпочтительнее.
-
> MsGuns (12.06.2008 16:24:41) [41]
Большинство принтеров имею функцию загрузка бумаги и человек для определения начала листа как бы лишний. Рулонная печать подразумевает печать на перфорированой бумаге, а остальное это хакерские методы.
-
> [41] MsGuns © (12.06.08 16:24)
Я имел ввиду, в первую очередь, боковую перфорацию и соответствующий механизм принтера (трактор). При заправке принтер/оператор протягивает ленту на начало листа (до пробивки). Проскальзывания там не бывает, разве что застрянет и порвётся сама перфорация.
Бумага продаётся в коробках сложенная гармошкой формата А3 и А4, длинной 600 и 1200 метров (3000 и 6000 листов), вот цена, по-моему, не намного меньше, чем для лазерников. Могу ошибаться, давно не имел дела, только вот дома в столе лежит кусок гармошки для почеркушек.
Это к тому, что автору может лучше купить такой бумаги и не маяться.
-
> [41] MsGuns © (12.06.08 16:24) > Понятие "конец страницы" для подавляющего большинства МП > это всего лишь сброс счетчика строк
Ну это так. И количество листов посчитал неправильно 2000 и 4000 при высоте листа 30см.
-
>Anatoly Podgoretsky © (12.06.08 16:59) [42] >AndreyV © (12.06.08 17:18) [43] Ведя речь о механических "погрешностях" "трактора" я имел в виду бумагу без перфорации. Термин "перфорация" применим исключительно к боковым "дыркам", а не к тому, что разделяет листовую бумагу (в рулонной, насколько я знаю, ее нет),- оно называется "пробивка" (или "просечка"), во всяком случае в документации к LX-1050 (на "родном" не помню как называется)
-
> MsGuns (12.06.2008 20:34:45) [45]
Бумага без перфорации - это профанация, никто не гарантирует никакой точности и официально ее как бы нет. Но существуют хакерские решения, разработаные от бедности, наверно видел это в давние времена на больших ЭВМ, ее и резали на самодельных станках, а для протяжки пупырышки меняли на иголки, чтобы обеспечить надежный захват. Промышленно это не делается.
Я участвовал в этом гнусном деле :-)
Рулонная бумага используется в типографиях.
А то про что ты говоришь, называется линия разрыва.
-
>А то про что ты говоришь, называется линия разрыва.
Анатолий, подними рук-во по Epson LX-1050 и почитай. Там ясно написано "просечка". Ну вот землю буду есть ;)
"Линией разрыва" называют пропечатанную точками или минусиками черту, которую обычно используют для удобства порезки (например, при печати платежек или расчеток по з/пл) рулонной бумаги
-
> MsGuns (12.06.2008 23:54:47) [47]
Да не существенно как называть.
-
-
У меня работает вот это procedure TForm1.BitBtn3Click(Sender: TObject);
Var diDocInfo : TDocInfo1;
PrnHandle:THandle;
dwTmp:DWORD;
st:string;
i:integer ;
begin
if not OpenPrinter('Epson LX-400',PrnHandle,NIL) Then begin
ShowMessage('Ошибка печати '+IntToStr(GetLastError));
Exit;
end;
with diDocInfo do begin
pDocName:='';
pOutputFile:=nil;
pDataType:='RAW';
end;
StartDocPrinter(PrnHandle, 1, @diDocInfo);
StartPagePrinter(PrnHandle);
for i := 0 to RichEdit1.lines.Count-1 do
begin
st:=RichEdit1.lines.Strings[i];
if st<>'' then CharToOem(Pchar(st),Pchar(st))
else st:='';
WritePrinter(PrnHandle,PChar(st+#10#13),Length(st)+2,dwTmp); end;
EndPagePrinter(PrnHandle);
EndDocPrinter(PrnHandle);
ClosePrinter(PrnHandle);
end;
Нормально работает без прогона страниц, под ХР.
-
И печатает в текстовом режиме ?
-
> Red_imp © (13.06.08 10:44) [50]
А вот интересно, рисование графического фаайла на длинной рулонной бумаге можно также сделать?
-
А как по-вашему печатаются транспаранты ?
-
> С кириллицей может помочь - перед печатью каждой формы использовать > последовательность символов (в шестнадцатиричном представлении) > 1B 74 11
Не помогло. Стали печататся греческие символы :) Что же реально делать с кириллицей?
-
> ПЛОВ (15.06.2008 13:23:54) [54]
То что сказали ранее, перевести принтер *программно или через меню принтера) в режим работы с одной из нужных кодовых таблиц, на принтер подавать тексты в этой кодировке. А насчет кодов не слушая, они разные, а реальные надо узнавать из документации на принтер.
-
>ПЛОВ © (15.06.08 13:23) [54] >> С кириллицей может помочь - перед печатью каждой формы использовать >> последовательность символов (в шестнадцатиричном представлении) >> 1B 74 11
>Не помогло. Стали печататся греческие символы :)
Это шаманский способ. Помогает только если Меркурий в Стрельцах, а луна в полуфазе.
-
Насколько помню, печатать в текстовом режиме (в кодировке ASCII) винда все же умеет (надо установить драйвер Generic/Text Only). А чтобы печатать на рулоне, из текста надо убрать символы #12 (FF - Format Feed).
-
-
> [57] Юрий Зотов © (15.06.08 20:46)
В конце задания будет добавлен прогон страницы.
Автору. Какая бумага в рулоне?
|