Главная страница
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.025 c
1-1092295643
andrey__
2004-08-12 11:27
2004.08.29
компонент TQueue его метод Pop.


3-1091444847
Sectey
2004-08-02 15:07
2004.08.29
Расположение бизнес логики приложения.


6-1088326312
Oleg
2004-06-27 12:51
2004.08.29
Порты в Windows 9x, NT, XP


3-1091694318
Misha Uskov
2004-08-05 12:25
2004.08.29
проблемы с серверным курсором в ADO


3-1091515008
}|{yk
2004-08-03 10:36
2004.08.29
Sequences - работа в процедуре