1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
   |  
var
  device, driver, port: array [0..255] of char;
  hDMode: THandle;
  pDMode: PDeviceMode;
begin
  Printer.GetPrinter(device, driver, port, hDMode);
  if hDMode <> 0 then
  begin
    pDMode:= GlobalLock(hDMode);
    if pDMode <> nil then
    begin
      pDMode^.dmFields:= pDMode^.dmFields + dm_Paperlength + dm_Papersize;
      pDMode^.dmPapersize:=0;
      pDMode^.dmPaperlength:=760;
      pDMode^.dmPaperwidth:=1240;
      pDMode^.dmPapersize:=0;
      GlobalUnlock(hDMode);
    end;
  end;
  Printer.BeginDoc;
  Printer.Canvas.TextOut(100, 100, 'Test d''impression au format A5');
  Printer.EndDoc;
end; |