Structs

Helper records:
  TFloatRect = record
    Left, Top, Right, Bottom: Extended;
  end;

  TFloatSize = record
    X, Y: Extended;
  end;

  TATPrintFooter = record
    Enabled: Boolean;
    EnableLine: Boolean;
    Caption: WideString;
    FontName: TFontName;
    FontSize: Integer;
    FontStyle: TFontStyles;
    FontColor: TColor;
    FontCharset: TFontCharset;
  end;
Printing options are specified in a record:
  TATPrintOptions = record
    Copies: Integer;
    OptFit: TATPrintFitMode;
    OptFitSize: TFloatSize;
    OptPosition: TATPrintPosition;
    OptMargins: TFloatRect;
    OptUnit: TATPrintUnit;
    OptGamma: Extended;
    OptFooter: TATPrintFooter;
    PixelsPerInch: Integer;
    JobCaption: string;
    FailOnErrors: Boolean;
  end;
Fields are: