Форум: "Начинающим";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизВопрос про 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c