Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Установить размеры бумаги

01.01.2007
  var
     Device, Driver, Port: array[0..80] of Char;
     DevMode: THandle;
     pDevmode: PDeviceMode;
   begin
     // Get printer device name etc.
     Printer.GetPrinter(Device, Driver, Port, DevMode);
     // force reload of DEVMODE
     Printer.SetPrinter(Device, Driver, Port, 0) ;
     // get DEVMODE 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
           // modify paper size
           dmPapersize := DMPAPER_B5;
           // tell printer driver that dmPapersize field contains
           // data it needs to inspect.
           dmFields := dmFields or DM_PAPERSIZE;
         End;
      finally
        // unlock devmode handle.
        GlobalUnlock( Devmode );
      end;
     End; { If }
   end;