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

Вниз

Вопрос про Font при выводе на принтер.   Найти похожие ветки 

 
vegarulez ©   (2007-11-13 21:47) [0]

Привет всем мастерам!
У меня такой вопрос - если выводить на принтер информацию таким способом:

http://delphibasics.ru/Printer.php

то тут я могу установить нужный фонт и размер шрифта, если же принтер медленный, то вывожу на него таким образом:

http://delphibasics.ru/AssignPrn.php

И тут возникает вопрос, можно ли установить нужный размер и нужный фонт шрифта для 2-ого варианта печати, чтобы не рисовать на холсте и не передавать на принтер рисунок, который много весит, как это сделано в 1-ом варианте.


 
Johnmen ©   (2007-11-13 22:47) [1]

Насчет нужного не знаю, но можно. Если, например, принтер понимает систему команд ESC.


 
guav ©   (2007-11-14 00:11) [2]

Печать через AssignPrn то же средствами GDI, а не напрямую через принтер, в этом можно убедится, изучив реализацию в Printer.pas. Там, если проследить, в конце окажется вызов Windows.TextOut.
Изменения шрифта для Printer.Canvas повлияет и на результат печати через Printer.pas (нет принтера проверить, но вроде так). Медленность первого способа свидетельствует о неправильной (неоптимальной) работе с Printer.Canvas.

Печать текста напрямую а не через DC действительно может быть быстрее (для старых матричных принтеров особенно), но это делается не через AssignPrn в Delphi.


 
vegarulez ©   (2007-11-14 15:03) [3]

Johnmen ©   (13.11.07 22:47) [1]

Да у принтера имеется очень большая внутренняя система комманд. Но вопрос как из под делфа передавать ему эти ESC команды?
подскажите...


 
Anatoly Podgoretsky ©   (2007-11-14 15:05) [4]

> vegarulez  (14.11.2007 15:03:03)  [3]

Для этого надо уйти от графического вывода в сторону текстового, когда TextFile просто посылается на LPTn
Как было сказано отказаться от AssignPrn


 
guav ©   (2007-11-14 15:16) [5]

https://msdn2.microsoft.com/en-us/library/ms535786.aspx или ExtEscape PASSTHROUGH или открыть порт принтера и писать туда.


 
Сергей М. ©   (2007-11-14 15:19) [6]


> как из под делфа передавать ему эти ESC команды?


WritePrinter ?


 
vegarulez ©   (2007-11-14 15:36) [7]

Так у меня он USB и я посылаю на принтер по умолчанию и он печатает.
При графическом выводе там получаются на принтер идут мегабайты(1,5 - 2 мб), при AssignPrn - на принтер идут килобайты(2-3 кб).

guav ©   (14.11.07 15:16) [5]
А у тебя нет какого нить примерчика как с помощью  ExtEscape передать на USB порт комманду?



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
2-1195190960
outlaw
2007-11-16 08:29
2007.12.09
Файл помощи


2-1194928312
San1712
2007-11-13 07:31
2007.12.09
При копировании в Clipboard русских символов изменяется их код-ка


2-1194979500
Б. Гейтс
2007-11-13 21:45
2007.12.09
Над контролом ли мышь? (API only)


2-1195112764
Первокласник Вася
2007-11-15 10:46
2007.12.09
Random & CheckBox


15-1194352859
phillip
2007-11-06 15:40
2007.12.09
Помогите найти мануал...