Suppose you have the following code:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Printer.BeginDoc;
  PrintStuff;
  Printer.EndDoc;
end;

procedure
TForm1.PrintStuff;
begin
  Printer.Canvas.Font.Name := 'Arial';
  Printer.Canvas.Font.Size := 12;
  Printer.Canvas.Font.Style := fsBold;
  Printer.Canvas.TextOut( 0, 0, 'Welcome' );
end;

// If you must print a perfect copy of some document, than:
// 1. how do you output some text exactly at 10mm X 10mm ?
// 2. what font size do you use if the measured height of the text "Ag" is 8mm?
// 3. how do you clip the output at exactly 25mm from the right side of the printable area?
// 4. what if you need to insert 3 additional white pixels between characters (extra space)
// 5. if the text is big, how much code do you have to write if you want to draw the text inside a rectangle, full justified?
// 6. what if you also want to have a PrintPreview ?
// see how EZ_Print handles these issues below.

Using TEZPrinter component, your code will probably look like this:

procedure TForm1.PrintStuffEZ(Sender: TObject; CurPage: Integer);
begin
  with
TEZPrinter(Sender).Procs do
  begin
 
  MapMode := tMM_HIMETRIC; // any coordinate or font size we pass will be measured in 0.01 mm units
    SpoolText(
            1000, 1000, // 1. x, y, coordinates 10mm X 10mm
            800,              // 2. font size is 8 mm
            2500,           // 3. text can not go past right margin of page less 25mm
            3,                 // 4. additional 3 white pixels between chars
            'Welcome', 'Arial', [fsBold], taLeftJustified );

    // to answer question #5 above, you only need one line of code with EZ_Print
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  with TEZPrinter.Create( nil ) do
  try
   
OnPrintPage := PrintStuffEZ; // the same method will be called when previewing or printing, no changes required !
    //Execute;                                   // this will print
    ExecutePreview( FALSE );      // 6. this will show ezPrint preview form
  finally
   
Free;
  end;
end;