В этой статье я постараюсь рассказать Вам о самых удобных и распространенных способах печати текстов и изображений из Ваших приложений. Печать используется в приложениях не так часто, вот и возникают различные вопросы по этому поводу. Иногда бывает необходимо "вывести на принтер" график получившейся функции или отчет о деятельности фирмы и т.д. Прочитав эту статью Вы освоите все самое необходимое для печати данных из Ваших приложений.
Итак, начнем рассмотрение этих способов.
Печать с помощью функций файлового ввода/вывода
Здесь мы будем использовать простейшие функции ввода/вывода в файл, только свяжем выходной поток не с файлом, а с принтером. Рассмотрим пример печати текста, содержащегося в компоненте TEdit:
var P:TextFile;
begin
AssignPrn(P);
Rewrite(P);
Writeln(P, Edit1.text);
CloseFile(P);
End;
Здесь мы объявляем переменную P типа TextFile. Процедура AssignPrn является разновидностью процедуры Assign. Она настраивает переменную P на порт принтера и позволяет работать с ним как с файлом. Rewrite открывает порт для работы, а WriteLn - выводит информацию на печать. Важно закрыть порт принтера командой CloseFile!!!
Этот способ можно использовать для распечатки строк списка или каких-нибудь других данных, по мере их поступления в программу.
Печать текстов в обогащенном формате методом Print
Если Вы пытались попробовать распечатать тексты из Вашего приложения, то , наверно, Вам известно, что компонент TRichEdit имеет метод Print, позволяющий печатать текст, хранящийся в этом компоненте. Этот метод имеет только один параметр - строку, которая при просмотре в Windows очереди печатаемых заданий является именем задания. Приведу пример использования (хотя он очевиден :)
RichEdit1.Print('Print of our RichEdit1');
Следует заметить, что печать воспроизводит все особенности форматирования текста, так же происходит автоматический перенос строк и разбиение текста на страницы. При этом длина строк ни как не связана с размерами компонента RichEdit.
Печать с помощью объекта Printer
В Дельфи имеется класс печатающих объектов TPprinter, который обеспечивает печать текстов, изображений и других объектов, расположенных на его канве (Canvas).
Модуль Дельфи Printers, содержит переменную Printer, которая является объектов типа TPrinter. Поэтому для использования этой переменной в Ваших программах, надо подключить модуль Printers в оператор Uses (к сожалению автоматически этого не делается)
Рассмотрим подробнее некоторые свойства и методы объекта TPrinter:
Свойство, метод |
Описание |
Canvas |
Канва - место в памяти, в котором формируется страница или документ перед печатью. |
TextOut |
Метод канвы, позволяющий посылать в нее текст |
BeginDoc |
Используется для начала задания печати |
EndDoc |
Используется для завершения задания печати. При этом печать начинается только после вызова этого метода! |
PageHeight |
Возвращает высоту страницы в пикселах |
NewPage |
Принудительно начинает новую страницу |
PageNumber |
Возвращает номер печатаемой страницы |
Приведу два примера печати с помощью объекта TPrinter текста и изображения.
Печать текста можно осуществить так:
Printer.BeginDoc;
Printer.Canvas.TextOut(10,10,'Печатаем с помощью объекта Printer');
Printer.EndDoc;
Если Вы хотите напечатать изображение, находящееся, например, в компоненте Image1, то код может быть таким: Printer.BeginDoc;
with Image1.Picture.Bitmap do Printer.Canvas.CopyRect(Rect(0,0,Height,Width),Canvas,Rect(0,0,Height,Width));
Printer.EndDoc;
Казалось и бы и здесь все просто, но у объекта Printer есть существенный недостаток: он не производит автоматическое разбиение на строки и страницы, поэтому печатать длинные тексты предпочтительнее с помощью компонента RichEdit или Memo.
Печать форм
У форм в Delphi есть метод Print, который печатает всю клиентскую область формы. При этом полоса заголовка и полоса главного меню формы не печатаются.
Свойство PrintScale определяет опции масштабирования изображения формы при печати:
poNone |
Масштабирование не используется. Размер изображения может изменяться в зависимости от используемого принтера |
poPrintToFit |
Делается попытка напечатать изображение формы того же размера, который виден на экране |
poProportional |
Увеличивает или уменьшает размер изображения, подгоняя его под размер страницы. |
На этом мы заканчиваем обзор способов печати данных из Ваших приложений. Надеюсь, что еще одним вопросом у Вас стало меньше :))
Список литературы
Михаил Христосенко. Различные способы печати из приложений
Другие работы по теме:
Точка в заглавии
В современной русской печати в конце заголовка употребление точки не принято. Это положение узаконено специальными пособиями и справочниками для корректоров и редакторов; сошлемся хотя бы на последний такой по времени.
Расчет усилителя низкой частоты
Реферат Курсовая работа оформлена на 35 страницах машинописного текста, содержит 18 рисунков, 16 источников использованной литературы и 5 приложений.
Беджызаты, Чермен Давидович
(осет. Беджызаты Дауыты фырт Чермен) (23.12.1898—1937 годы) — осетинский советский писатель. Родился в селе Едиса, ныне находящееся в Дзауском районе Южной Осетии.
Флаг Юты
Введение 1 Описание печати штата Юта 2 История Список литературы Флаг Юты Введение Флаг Ю́ты (англ. Flag of Utah) — один их государственных символов американского штата Юта. Флаг был утверждён в 1913 году. Состоит из печати штата Юта, окружённой золотым кругом на тёмно-синем фоне.
Флаг Иллинойса
Флаг Иллино́йса (англ. Flag of Illinois) — один из символов американского штата Иллинойс. В 1912 году, местным отделением организации «Дочери Американской революции», возглавляемой Эллой Парк Лоренс, был объявлен конкурс на флаг штата Иллинойс. Победу одержал флаг, автором которого являлась Люси Дервент. 6 июля 1915 года, после одобрения флага в правительстве и сенате штата, он был официально учреждён флагом штата Иллинойс.
Флаг Кентукки
Флаг Кенту́кки (англ. Flag of Kentucky) — один из символов американского штата Кентукки. Флаг штата Кентукки представляет собой прямоугольное полотнище тёмно-синего цвета с изображением печати штата. Вокруг печати по окружности: вверху — надпись Commonwealth of Kentucky (с англ. Содружество Кентукки), внизу — две ветки золотарника (официальный цветок штата).
Печать Нью-Гэмпшира
Введение 1 Большая печать 2 Другая печать 2.1 Колониальный вариант 2.2 Первая печать штата 1776 года Введение Печать Нью-Гэмпшира (англ. Seal of New Hampshire) — один из государственных символов штата Нью-Гэмпшир. Со времени провозглашения независимости 5 января 1776 года у Нью-Гэмпшира были две печати, хотя в официальном использовании находится только одна.
Флаг Луизианы
Флаг Луизиа́ны (англ. Flag of Louisiana) — один их государственных символов американского штата Луизиана. Флаг представляет собой прямоугольное полотнище синего цвета в центре которого изображено птичье гнездо, внутри которого пеликан кормит кровью своих птенцов. Ниже изображена лента с надписью Union, Justice, and Confidence (с англ.
Сфрагистика
Сфрагистика (от греч. σφραγις — печать), или сигиллография (от лат. sigillum — печать) — вспомогательная историческая дисциплина, изучающая печати (матрицы) и их оттиски на различных материалах.
Печать Аризоны
Введение 1 Описание 2 История Список литературы Печать Аризоны Введение Больша́я печа́ть шта́та Аризо́на (англ. Great Seal of the State of Arizona) — один из официальных символов штата Аризона, США.
Фотопринтеры
Что могут мини-фотопринтеры? Только одно: печатать фото. Все модели печатают снимки на бумаге наиболее широко распространенного формата 10х15 см, а некоторые способны также воспроизводить панорамные изображения 10х20 или 10х30 см.
Лабораторная работа №9
Цель работы: Изучение операторов ввода и вывода, управление формой вывода данных, получение навыков организации печати в удобном для пользователя виде.
Выбор и обоснование языка программирования
Java — объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения
Понятия ИС
Система - совокупность элементов взаимодействующих друг с другом, образующих определённую целостность, единство. Система характеризуется понятиями:
Классы вычислительных машин
Здесь выделяют аналоговые (непрерывного действия); цифровые (дискретного действия); гибридные (на отдельных этапах обработки используются различные способы физического представления данных).
Технология MMX
О технологии MMX(tm) Технология MMX(tm): более высокая производительность при выполнении мультимедийных и коммуникационных приложений Технология MMX является
Пример использования MFC в Visual C
В этой статье будет показано как включить потдержку MFC в Visual C++ на примере двух типов приложений: 1. Консольное приложение 2. Приложение типа Windows Application
Основные периферийные устройства ПК
К основным периферийным устройствам компьютера можно отнести принтер и сканер. Принтер предназначен для вывода информации с компьютера на бумагу. Принтеры можно поделить на лазерные и струйные.
Трафарет в офсетной типографии
Трафаретные технологии могут с успехом использоваться и в традиционной типографии. Первое, что приходит на ум – лакирование офсетных оттисков. Однако у шелкографии есть куда большие возможности.
Преимущества и недостатки цифровой печати
Цифровая печать – это технология получения оттисков с использованием переменной печатной формы. Изменениями в печатной машине на каждом этапе управляет компьютер издательской системы.
Оптимизация офсетной печати
Офсетная печать – самый распространенный способ получения тиражной продукции, при этом он наиболее сложный в технологическом плане. Типичные проблемы офсетной УФ-печати по невпитывающим поверхностям и способы их устранения.
Cорта бумаги для печати на дупликаторе
С развитием технических возможностей производства бумага постоянно совершенствуется. Это касается прежде всего их внешнего вида, а также потребительских качеств.