Перевести принтер в режим Duplex

Советы » Принтеры и Печать » Перевести принтер в режим Duplex

{ 
You typically switch a printer to duplex mode by changing its 
TDeviceMode(API: DEVMODE)record .But first you should test whether 
the installed printer driver supports this: 
}
 uses

printers, winspool; function

PrinterSupportsDuplex: Boolean; var

Device, Driver, Port: array

[0..255] of

Char; hDevMode: THandle; begin

Printer.GetPrinter(Device, Driver, Port, hDevmode); Result := WinSpool.DeviceCapabilities(Device, Port, DC_DUPLEX, nil

, nil

) <> 0; end

; {if it does you can try to switch the duplex mode on before you call richedit.print:} var

Device, Driver, Port: array

[0..80] of

Char; DevMode: THandle; pDevmode: PDeviceMode; begin

// Get printer device mode handle. Printer.GetPrinter(Device, Driver, Port, DevMode); if

Devmode <> 0 then

begin

// lock it to get pointer to DEVMODE record pDevMode := GlobalLock(Devmode); if

pDevmode <> nil

then

try

with

pDevmode^ do

begin

dmDuplex := DMDUP_VERTICAL; dmFields := dmFields or

DM_DUPLEX; end

; finally

// unlock devmode handle. GlobalUnlock(Devmode); end

; end

; { If } end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com