Последние записи
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
26th
Ноя
Распечатка файла
Posted by obzor under Delphi
Как отправить на распечатку файл средствами delphi?
Пример кода : Относительно простой пример
const
TOTAL_PAGES = 4; // Сколько страниц печатать
var
printDialog : TPrintDialog;
page, startPage, endPage : Integer;
begin
// Создание диалога выбора принтера
printDialog := TPrintDialog.Create(Form1);
// Установка опций диалога печати
printDialog.MinPage := 1;
printDialog.MaxPage := TOTAL_PAGES;
printDialog.ToPage := TOTAL_PAGES;
printDialog.Options := [poPageNums];
// Если пользователь выбрал принтер (или значение по умолчанию), то печатаем!
if printDialog.Execute then
begin
// Используйте функцию Printer, чтобы получить доступ к глобальному объекту TPrinter.
// Set to landscape orientation
Printer.Orientation := poLandscape;
// Установите заголовок printjob - как оно появляется в менеджере задания по выводу на печать
Printer.Title := 'Test print for Delphi';
// Устанавливаем число копий для печати каждой страницы
Printer.Copies := printDialog.Copies;
// Начало печати
Printer.BeginDoc;
// Пользователь выбрал диапазон страниц?
if printDialog.PrintRange = prPageNums then
begin
startPage := printDialog.FromPage;
endPage := printDialog.ToPage;
end
else // Все страницы
begin
startPage := 1;
endPage := TOTAL_PAGES;
end;
// Установка номера начальной страницы
page := startPage;
// Продолжаем печатать пока всё OK
while (not Printer.Aborted) and Printer.Printing do
begin
// Пишем номер страницы
Printer.Canvas.Font.Color := clBlue;
Printer.Canvas.TextOut(40, 20, 'Page number = '+IntToStr(page));
// Увеличиваем номер страницы
Inc(page);
// Теперь начинаем новую страницу - если она не последняя
if (page <= endpage) and (not printer.aborted)
then Printer.NewPage;
end;
// Конец печати
Printer.EndDoc;
end;
end;
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)