Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

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

 
lightix   (2004-08-11 09:05) [0]

Как из RichEdit выполнить печать на матричный принтер без учета шрифта (т.е. печатать встроенным шрифтом принтера, к примеру таким как бы я напечатал из доса copy имя_файла LPT1)?
При этом используя виндовые средства.


 
Анатолий   (2004-08-11 12:14) [1]


> Как из RichEdit выполнить печать на матричный принтер без
> учета шрифта (т.е. печатать встроенным шрифтом принтера,
> к примеру таким как бы я напечатал из доса copy имя_файла
> LPT1)?
> При этом используя виндовые средства.

Вашему принтеру все равно, какая оп. система у вас на компьютере. Матричный принтер может печатать в двух режимах: текстовом и графическом.

Текстовый режим стандартный, когда во входной буфер принтера поступают байты-коды символов в кодировке ASCII. Принтер из зашитой в него таблицы печатает соответствующие кодам символы. Размер шрифта можно задать на принтере. Это DOS.

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

Итак, у вас два пути:

Печатать непосредственно в порт через hFile := CreateFile(.."LPT1"..);
WriteFile(hFile, AnsiToAscIIBuf(RichEdit1.Lines[i]..);
Не забудьте перекодировку в ASCII (AnsiToAscIIBuf надо написать самому :) ).
И убедитесь, что LPT1 - это не именованый канал спулера печати, а симв. линк на драйвер параллельного порта "\Device\Parallel0".

Другой путь: стандартный спулер через функции API может печатать сырой ("RAW") поток данных на принтер. Это описано во многих FAQ по Дельфи. Насколькон он эфективен, проверьте сами.

Удачи.


 
GrayFace ©   (2004-08-11 14:52) [2]

Очень черезжопный, но очень простой путь: записать в файл и сделать %SystemRoot%\system32\NOTEPAD.EXE /p [filename]
По-моему лучше напечатать все одним, но заранее выбраным шрифтом - это очень просто.



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

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.068 c
3-1091613981
Koala
2004-08-04 14:06
2004.08.29
Вопрос о пользователях в базе


14-1091928712
Думкин
2004-08-08 05:31
2004.08.29
С днем рождения! 8 августа


14-1092349974
Profi
2004-08-13 02:32
2004.08.29
Helkern


11-1080063840
Delphi5.01
2004-03-23 20:44
2004.08.29
Chem mojet bit vizvana oshibka: ExptIntf.dcu


14-1091988495
Cerberus
2004-08-08 22:08
2004.08.29
Я Робот.