Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1194968440
IOrist
2007-11-13 18:40
2007.12.09
Почиму в орешнике 1 страница?


15-1194723363
Dib@zol
2007-11-10 22:36
2007.12.09
Количество символов в DWORD-переменной


15-1194793273
Kick
2007-11-11 18:01
2007.12.09
В моем классе не видно...


15-1193942969
Kerk
2007-11-01 21:49
2007.12.09
MMP может?


15-1194269268
Моб
2007-11-05 16:27
2007.12.09
Выбор мобильника.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский