Печать из Delphi с возможностью просмотра
Печать сейчас широко используется в приложениях Delphi, когда нужно напечатать текст, изображение и т. д. Большинство приложений Windows поддерживают возможность печати. В Delphi есть несколько способов печати, в зависимости от качества, которого Вы хотите достичь.
Печать формы
В Delphi у формы Form имеется функция Print. которая может выводить на печать форму.
Также Вы можете использовать свойство PrintScale. которое изменяет масштаб печатаемого объекта. Это свойство содержит три опции:
- poNone - печать будет произведена с настройками принтера.
- poProportional - печать страницы, которая будет иметь те же размеры, что и на экране.
- poPrintToFit - размер изменяется в зависимости от размера страницы.
При этом получается не самое высокое качество печати.
Печать управления TRichEdit
Функция Print имеется также у компонента TRichEdit .
Как видите, здесь функция Print получает один строковой параметр, который будет отображаться в очереди печати как имя документа.
Печать текстовых файлов при помощи ShellExecute
Также можно использовать функцию API ShellExecute для печати текстового документа.
При этом открывается приложение, которое ассоциировано с файлом. В моем случае это Блокнот.
Диалоговое окно печати
В Delphi имеется два диалоговых окна для печати: диалоговое окно при помощи компонента TPrintDialog и при помощи диалогового окна установок принтера TPrinterSetupDialog .
Диалоговое окно TPringDialog
Компонент диалогового окна TPrintDialog Вы можете использовать непосредственно перед началом печати. Компонент TPrintDialog имеет свои свойства и метода, которые Вы сможете найти в справке по Delphi. Диалоговое окно вызывается конструкцией:
Диалоговое окно Настройка печати
При вызове этого диалогового окна появляется возможность выбрать настройки печати, такие как размер бумаги, ориентацию и т. д. Можно также использовать это окно для настроек принтера. Вызывается это диалоговое окно функцией Execute .
TPrinter
Объект TPrinter используется для печати документов, текста и т. д. Вот пример использования TPrinter для печати прямоугольника. Не забудьте добавить модуль Printers в раздел uses формы.
Таким же образом, на холсте Canvas объекта Printer можно напечатать и текст.
А также вывести растровое изображение на печать, словно на холст.
При печати растровое изображение будет небольшим, чтобы вывести нужный Вам размер на печать, используйте StretchDraw .
Реализация Просмотра Печати
Предварительный просмотр печати важен в приложениях для пользователя, потому как позволяет просматривать изображение или текст перед выводом его на печать. Здесь мы создадим предварительный просмотр печати с возможностью изменения масштаба изображения.
Небольшое приложение с использованием предварительного просмотра печати Вы можете посмотреть здесь.
Копирование содержимого формы в буфер обмена