Alterar (e restaurar) o tamanho da página na impressora no Delphi

Inclua na seção uses: tbPrn

{ - Peque em nosso Download o arquivo tbPrn.zip. Ele contém
    a unit tbPrn.pas, onde está a função tbPrnSetPaperSize 
    usada no exemplo abaixo;



  - Adicione a unit tbPrn.pas em seu projeto;

  - Siga o exemplo abaixo para criar seus relatórios
    usando o TPrinter.
}

procedure TForm1.Button1Click(Sender: TObject);
var
  Papel: TtbPrnPaper;
begin
  Papel.Size := 256; // 256 é o tam. personalizado
  Papel.Width := 2100; // 21 cm
  Papel.Height := 1000; // 10 cm
  Papel := tbPrnSetPaperSize(Papel);
  try
    Printer.BeginDoc;
    try
      { coloque aqui os comandos para impressão }
    finally
      Printer.EndDoc;
    end;
  finally
    tbPrnSetPaperSize(Papel); // Restaura o tamanho
  end;
end;

{ Papel.Size refere-se ao tamanho do papel. Veja alguns:
    0 - Default
    1 - Letter
    5 - Legal
    8 - A3
    9 - A4
   11 - A5
  256 - Custom (personalizado) }

Só será necessário informar Papel.Height e Papel.Width quando Papel.Size for 256.