Thema: Delphi Text mittig drucken

Einzelnen Beitrag anzeigen

Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#7

Re: Text mittig drucken

  Alt 15. Mär 2007, 13:41
So richtig mittig ist es leider irgedwie noch nicht
Delphi-Quellcode:
procedure DruckeKleinenBon();
var
  iPageWidth, iPageHeight: Cardinal;
  iNextLine: Cardinal;
  I: Integer;
  Text: String;
begin
  Printer.PrinterIndex := -1;
  Printer.Title := 'Titel';
  iNextLine := 0;
  Printer.Canvas.Font.Name := Printer.Fonts.Strings[0];

  Printer.BeginDoc;


  { Kopfbereich }

  Printer.Canvas.Font.Height := 20 *10;
  Text := 'Heading';
  Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)) , 0, Text); // Mittig

  Inc(iNextLine, Printer.Canvas.Font.Height);

  Printer.Canvas.Font.Height := 17 *10;
  Text := 'SubHeading';
  Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)) , iNextLine, Text);

  Inc(iNextLine, Printer.Canvas.Font.Height);


  { Haupttetxt }
  for I := 1 to 5 do begin
    Inc(iNextLine, Printer.Canvas.Font.Height);
    Printer.Canvas.Font.Height := 14 * 10;
    Printer.Canvas.TextOut( (Printer.PageWidth * 3 div 100), iNextLine, 'Artikelname'); // Links
    Printer.Canvas.TextOut( ((Printer.PageWidth * 97 div 100)- Printer.Canvas.TextWidth(Text)), iNextLine, 'Preis'); // Rechts
    Inc(iNextLine, Printer.Canvas.Font.Height);
    end;



  { Fußzeile }
  Printer.Canvas.Font.Height := 17 * 10;
  Text := DateTimeToStr(Now);
  Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)), (Printer.PageHeight -Printer.Canvas.Font.Height) , Text);

  Printer.EndDoc;
end;
Angehängte Dateien
Dateityp: pdf titel_311.pdf (1,9 KB, 15x aufgerufen)
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat