Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Вниз

Печать на матричном принтере   Найти похожие ветки 

 
VICTOR_   (2008-06-12 14:26) [40]


> Ну так и надо жаловаться на СОМ а не на USB, у USB2 скорость
> может достигать 60мб/сек, LPT даже самые скоростные так
> не могут. Это же половина скорости 1 гигабита.

Согласен, неправильно сформулировал замечание.
Переформулирую так

При работе с чековыми принтерами и печати из под Windows (через Windows-драйвер) будьте внимательны при выборе USB или LPT - моделей. Вследствии реализации драйвера (либо самой модели принтера) разница в скорости печати может достигать несколько раз. Причем как в сторону LPT так и в сторону USB. COM - модели принтеров в данном случае не рекомендуется использовать, так как скорость печати через Windows-драйвер очень низкая.


 
MsGuns ©   (2008-06-12 16:24) [41]

>AndreyV ©   (12.06.08 13:51) [38]
>Вот на перфорированной бумаге, в соответсвующем режиме, прокрутка идёт только до конца страницы.

Понятие "конец страницы" для подавляющего большинства МП это всего лишь сброс счетчика строк, установленного по умолчанию (в ПЗУ или переключателями) или программно. При этом ему пофиг пробивка листовой бумаги. Пробивку они понимают, но только в плане печатать на ней лил пропускать. Правда для рулонной бумаги такой проблемы нет конечно.

Был один принтер (не помню марки, но здоровенный такой), у которого была классная команда - "прогон до пробивки". Беда всего этого в том, что невозможно программно установить где именно (в какой части листа) заправлена (установлена) бумага перед началом печати и полагаться приходится только на оператора, подгоняющего границу листа вручную.

Еще одна проблема - это "проскальзывание" бумаги по валикам или, наоборот, задержка (например из-за излишне сильного натяга от рулона или податчика бумаги) - в этом случае печать "сбивается" и происходит смещение, что приводит к тому, что инормация листов перелазит на следующий лист бумаги. Это все, ессно, о листовой бумаге. Проблема не слишком актуальная при наличии перфорации у бумаги и соответствующего механизма подачи у принтера. Если же нет того или друго, то печать больших объемов требует постоянного надзора с приостановом и подгоном бумаги вручную. В общем штука гадкая, но, к сожалению, никак программно не боримая.

И, наконец, последнее - при зарядке бумаги перед печатью принтер может загнать ее на разную высоту - гадкая вещь, если надо печатать много небольших отчетов по 2-3 листа. Опять же контроль только глазами, а "лечение" - руками.

Т.е. с матричными принтерами мороки, конечно же, куда больше. И оправдывает их лишь то, что экономия на одной только бумаге весьма солидная. Во всем остальном ЛП предпочтительнее.


 
Anatoly Podgoretsky ©   (2008-06-12 16:59) [42]

> MsGuns  (12.06.2008 16:24:41)  [41]

Большинство принтеров имею функцию загрузка бумаги и человек для определения начала листа как бы лишний.
Рулонная печать подразумевает печать на перфорированой бумаге, а остальное это хакерские методы.


 
AndreyV ©   (2008-06-12 17:18) [43]

> [41] MsGuns ©   (12.06.08 16:24)

Я имел ввиду, в первую очередь, боковую перфорацию и соответствующий механизм принтера (трактор). При заправке принтер/оператор протягивает ленту на начало листа (до пробивки). Проскальзывания там не бывает, разве что застрянет и порвётся сама перфорация.

Бумага продаётся в коробках сложенная гармошкой формата А3 и А4, длинной 600 и 1200 метров (3000 и 6000 листов), вот цена, по-моему, не намного меньше, чем для лазерников. Могу ошибаться, давно не имел дела, только вот дома в столе лежит кусок гармошки для почеркушек.

Это к тому, что автору может лучше купить такой бумаги и не маяться.


 
AndreyV ©   (2008-06-12 17:25) [44]

> [41] MsGuns ©   (12.06.08 16:24)
> Понятие "конец страницы" для подавляющего большинства МП
> это всего лишь сброс счетчика строк

Ну это так.
И количество листов посчитал неправильно 2000 и 4000 при высоте листа 30см.


 
MsGuns ©   (2008-06-12 20:34) [45]

>Anatoly Podgoretsky ©   (12.06.08 16:59) [42]
>AndreyV ©   (12.06.08 17:18) [43]

Ведя речь о механических  "погрешностях" "трактора" я имел в виду бумагу без перфорации.
Термин "перфорация" применим исключительно к боковым "дыркам", а не к тому, что разделяет листовую бумагу (в рулонной, насколько я знаю, ее нет),- оно называется "пробивка" (или "просечка"), во всяком случае в документации к LX-1050 (на "родном" не помню как называется)


 
Anatoly Podgoretsky ©   (2008-06-12 20:42) [46]

> MsGuns  (12.06.2008 20:34:45)  [45]

Бумага без перфорации - это профанация, никто не гарантирует никакой точности и официально ее как бы нет. Но существуют хакерские решения, разработаные от бедности, наверно видел это в давние времена на больших ЭВМ, ее и резали на самодельных станках, а для протяжки пупырышки меняли на иголки, чтобы обеспечить надежный захват. Промышленно это не делается.

Я участвовал в этом гнусном деле :-)

Рулонная бумага используется в типографиях.

А то про что ты говоришь, называется линия разрыва.


 
MsGuns ©   (2008-06-12 23:54) [47]

>А то про что ты говоришь, называется линия разрыва.

Анатолий, подними рук-во по Epson LX-1050 и почитай. Там ясно написано "просечка". Ну вот землю буду есть ;)

"Линией разрыва" называют пропечатанную точками или минусиками черту, которую обычно используют для удобства порезки (например, при  печати платежек или расчеток по з/пл)  рулонной бумаги


 
Anatoly Podgoretsky ©   (2008-06-13 00:10) [48]

> MsGuns  (12.06.2008 23:54:47)  [47]

Да не существенно как называть.


 
Prohodil Mimo ©   (2008-06-13 01:03) [49]

ПЛОВ ©   (11.06.08 16:46)
тут смотрел?
http://sovety.net/010700.php


 
Red_imp ©   (2008-06-13 10:44) [50]

У меня работает вот это

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;


Нормально работает без прогона страниц, под ХР.


 
MsGuns ©   (2008-06-13 13:29) [51]

И печатает в текстовом режиме ?


 
Nic ©   (2008-06-13 14:47) [52]


> Red_imp ©   (13.06.08 10:44) [50]

А вот интересно, рисование графического фаайла на длинной рулонной бумаге можно также сделать?


 
MsGuns ©   (2008-06-13 17:37) [53]

А как по-вашему печатаются транспаранты ?


 
ПЛОВ ©   (2008-06-15 13:23) [54]


> С кириллицей может помочь - перед печатью каждой формы использовать
> последовательность символов (в шестнадцатиричном представлении)
> 1B 74 11

Не помогло. Стали печататся греческие символы :)
Что же реально делать с кириллицей?


 
Anatoly Podgoretsky ©   (2008-06-15 14:06) [55]

> ПЛОВ  (15.06.2008 13:23:54)  [54]

То что сказали ранее, перевести принтер *программно или через меню принтера) в режим работы с одной из нужных кодовых таблиц, на принтер подавать тексты в этой кодировке. А насчет кодов не слушая, они разные, а реальные надо узнавать из документации на принтер.


 
MsGuns ©   (2008-06-15 19:43) [56]

>ПЛОВ ©   (15.06.08 13:23) [54]
>> С кириллицей может помочь - перед печатью каждой формы использовать
>> последовательность символов (в шестнадцатиричном представлении)
>> 1B 74 11

>Не помогло. Стали печататся греческие символы :)

Это шаманский способ. Помогает только если Меркурий в Стрельцах, а луна в полуфазе.


 
Юрий Зотов ©   (2008-06-15 20:46) [57]

Насколько помню, печатать в текстовом режиме (в кодировке ASCII) винда все же умеет (надо установить драйвер Generic/Text Only). А чтобы печатать на рулоне, из текста надо убрать символы #12 (FF - Format Feed).


 
VirEx ©   (2008-06-15 21:54) [58]

случайно нарыл такую штуку, может найдешь там про эскпоследовательности:

http://ihtik.lib.ru/dedic_natahaus_17yanv2008.html

З.Ы. есть такая штука "243. Windows 2000 Native API reference 1999.pdf"


 
AndreyV ©   (2008-06-16 08:20) [59]

> [57] Юрий Зотов ©   (15.06.08 20:46)

В конце задания будет добавлен прогон страницы.

Автору. Какая бумага в рулоне?


 
Prohodil Mimo ©   (2008-06-16 12:48) [60]

ПЛОВ ©   (15.06.08 13:23) [54]
Что же реально делать с кириллицей?

1. почитать повнимательней по ссылке в [49]
или
2. перед печатью грузить в принтер русские шрифты, т.к. он у тебя скорее всего не прошит кирилицей. Во времена доса были спец драйвера для клавиатуры, для монитора, а так же для принтера (на случай, если не застал такое чудо).



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.011 c
2-1215060368
Alex_C
2008-07-03 08:46
2008.08.03
Перестал работать компонент


2-1214980905
zorik
2008-07-02 10:41
2008.08.03
Насколько целесообразно использовать такое?


3-1203672827
dolmat
2008-02-22 12:33
2008.08.03
Преобразования типов


15-1213968206
Small Donkey
2008-06-20 17:23
2008.08.03
Размещение ваших программ


2-1215154601
JohnKorsh
2008-07-04 10:56
2008.08.03
Арабский формат ввода текста в Memo или RichEdit.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский