Главная страница
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.019 c
5-1164114503
Igor_thief
2006-11-21 16:08
2007.12.09
Проблема с TPageContorl


2-1194893371
alikon1
2007-11-12 21:49
2007.12.09
Выравнивание текста, моргающий курсор


2-1195046408
Jason
2007-11-14 16:20
2007.12.09
Как удалить динамически созданные едиты?


2-1194334476
Dmitriy O...
2007-11-06 10:34
2007.12.09
Как загрузить список всех текстовых файлов в комбобокс из какой


2-1194847526
Sergl
2007-11-12 09:05
2007.12.09
Проблемка с отчетами QuickReport