- Мы, интердевочки, - девочки, работающие в Интернете. Дружок, иди сюда, я помогу тебе, я научу тебя правильно пользоваться твоим Пентиумом. Поиграй со мной в твои игры... Вот диск твой становится жестким. Ты копишь информацию... Оооо! начинает работать твой струйный принтер!...
- Простите, а что, дома вам этого не хватает?
- Дома мой муж работает со мной в режиме пользователя.
- Ничего, зато есть гарантия от любого вируса!
Я использую следующий код. Уже с год как работает.
var
Device : array[0..cchDeviceName-1] of Char;
Driver : array[0..(MAX_PATH-1)] of Char;
Port : array[0..32] of Char;
hDMode : THandle;
pDMode : PDevMode;
sDev : array[0..32] of Char;
begin
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode <> 0 thenbegin
pDMode :=GlobalLock(hDMode);
if pDMode <> nilthenbegin
pdMode^.dmOrientation :=2;
// landscape
pdMode^.dmPaperSize := DMPAPER_A3
// (см. win32.hlp DEVMODE)
GlobalUnlock(hDMode);
end;
end;
end;
Для настройки размера страницы без использования диалога TPrinterSetupDialog можно использовать поле DM_ PAPERSIZE рекорда TDevMode. Это поле представляет собой размер страницы в пикселях.
Вот обновленная версия вашего кода, которая настраивает размер страницы на A3:
Обратите внимание, что DM_ PAPERSIZE - это тип перечисления в Windows API, а A3 - это значение из этого перечисления. Вы можете использовать другие значения для настройки различных размеров страницы.
Также помните, что настройка размера страницы с помощью этого метода влияет только на 기본ные настройки принтера. Если вам нужно напечатать конкретный документ с конкретным размером страницы, вам может потребоваться использовать другие методы, такие как создание печатающей задачи и указание размера страницы для каждой страницы документа.
В статье описывается способ указания размера страницы в приложении на языке программирования Delphi без использования диалогового окна TPrinterSetupDialog.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.