Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
14-1092377068
Igorek
2004-08-13 10:04
2004.08.29
Насчет поздравлений с днем рождения


9-1084531632
AlexRush
2004-05-14 14:47
2004.08.29
Алгоритм -> Фильтрация растра (бликиб шумы)


14-1092223767
Vlad Oshin
2004-08-11 15:29
2004.08.29
Куда бы деть ~200 пустых полторашек, из-под пива/лимонада


6-1086003426
Maxuz
2004-05-31 15:37
2004.08.29
TClientSocket


3-1091779998
Sirus
2004-08-06 12:13
2004.08.29
Можно ли сделать чтобы пр удалении запись не удалялась а просто..




   Наверх