Разговаривают два друга о компах, и разговор зашел про Билла Гейтса и его компе:
- Интересно, какая у Билла Гейтса видюха?
- Какая-нибудь Джи-Форс, последней модели...
- Хм, а какой у него камень? Пент 5-й?
- Такого еще не продают...
- А у него уже есть...
- Хе, и стоят у него Линуха!
Delphi имеет стандартный объект для доступа к принтеру - TPRINTER,
находящийся в модуле PRINTERS. В этом модуле имеется переменная
Printer:Tpinter, что избавляет от необходимости описывать свою. Он
позволяет выводить данные на печать и управлять процессом печати.
Правда, в некоторых версиях Delphi1 он имеет "глюк" - не работают
функции Draw и StrethDraw. Но эта проблема поправима - можно
использовать функции API. Далее приведены основные поля и методы
объекта Printers :
PROPERTY
Aborted:boolean - Показывает, что процесс печати прерван
Canvas:Tcanvas - Стандартный Canvas, как у любого графического объекта.
Он позволяет рисовать на листе бумаге графику, выводить текст ... . Тут
есть несколько особенностей, они описаны после описания объекта.
Fonts:Tstrings - Возвращает список шрифтов, поддерживаемых принтером
Handle:HDS - Получить Handle на принтер для использования функций API
(см. Далее)
Orientation:TprinterOrientation - Ориентация листа при печати : (poPortrait,
poLandscape)
PageHeight:integer - Высота листа в пикселах
PageNumber:integer - Номер страницы, увеличивается на 1 при каждом
NewPage
PageWidth:integer - Ширина листа в пикселах
PrinterIndex:integer - Номер используемого принтера по списку доступных
принтеров Printers
Printers:Tstrings - Список доступных принтеров
Printing:boolean - Флаг, показывающий, что сейчас идет процесс печати
Title:string - Имя документа или приложения. Под этим именем задание на
печать регистрируется в диспетчере печати
METODS
AssignPrn(f:TextFile) - Связать текстовый файл с принтером. Далее вывод
информации в этот файл приводит к ее печати. Удобно в простейших
случаях.
Abort - Сбросить печать
BeginDoc - Начать печать
NewPage - Начать новую страницу
EndDoc - Завершить печать.
Пример :
Procedure TForm1.Button1Click(Sender: TObject);
BeginWith Printer doBegin// Начало печати
BeginDoc;
// Задали шрифт
Canvas.Font:=label1.font;
// Печатаем текст
Canvas.TextOut(100,100,'Delphi World - лучше всех !!! :) ');
// Конец печати
EndDoc;
end;
end;
В статье описывается класс TPrinter в Delphi, который обеспечивает доступ к принтеру и управление процессом печати.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.