Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Etikettendruck horizontal und vertikal (https://www.delphipraxis.net/32510-etikettendruck-horizontal-und-vertikal.html)

needatip 24. Okt 2004 14:27


Etikettendruck horizontal und vertikal
 
Hallo,
ich möchte auf einem Etiketten(Grafik)Drucker ein Adressetikett ausdrucken.
Auf der linken Seite drucke ich die Adresse mit untem stehendem Code.
Wie kann ich nun am rechten Etikettenrand zusätzlich einen kurzen einzeiligen Text vertikal positionieren und ausdrucken.
Hab bisher folgenden Code stehen.
Delphi-Quellcode:
 procedure TAdrDruck.Button1Click(Sender: TObject);

const texthoehe = 40;
      linkerRand= 60;

var    w,v  : TSize;
        OUTDC : HDC;
        zeile : integer;
        txt  : string;
begin
  Printer.BeginDoc;
  outDC := Printer.Canvas.Handle;
  SetMapMode(OutDc,mm_lometric);
  GetWindowExtEx(OutDC,w);
  GetViewPortExtEx(OutDC,v);
  SetMapMode(OutDC,MM_ANISOTROPIC);
  SetWindowExtEx(OutDC,w.cx,w.cy,nil);
  SetViewPortExtEx(OutDc,v.cx,-v.cy,nil);
  Printer.Canvas.Font.Name := 'Arial';
  Printer.Canvas.Font.Height := texthoehe;
  zeile := 0;
  Printer.Canvas.TextOut(linkerRand,zeile*(texthoehe+1),Edit1.Text);
  inc(zeile);
  Printer.Canvas.Font.Style := [fsBold];
  Printer.Canvas.TextOut(linkerRand,zeile*(texthoehe+1),Edit2.Text);
  Printer.Canvas.Font.Style := [];
  inc(zeile);
  Printer.Canvas.TextOut(linkerRand,zeile*(texthoehe+1),Edit5.Text);
  inc(zeile);
  Printer.Canvas.TextOut(linkerRand,zeile*(texthoehe+1),Edit6.Text);
  inc(zeile);
  inc(zeile);
  Printer.Canvas.Font.Style := [fsBold];
  Printer.Canvas.TextOut(linkerRand,zeile*(texthoehe+1),Edit7.Text+' '+ComboBox1.Text);
  Printer.Canvas.Font.Style := [];
  Printer.EndDoc;
end;
Wer kann mir hier weiterhelfen ?

omata 24. Okt 2004 15:37

Re: Etikettendruck horizontal und vertikal
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

auf einem Canvas kann man mit einem Trick auch vertikalen Text einfügen. Auf dem Bildschirm klappt soetwas ohne Probleme, beim ausdrucken kann das eventuell auch klappen (habe ich jetzt nicht getestet). Ich habe nicht auf einem echten Drucker gedruckt, sondern über einen PS-Druckertreiber eine PDF-Datei erstellt und dort ist dann der Text bei solchen Tricks leider nicht vertikal.

Deshalb schlage ich hier mal vor du solltest auf Quickreport umsteigen. Dort ist die Druckgeschichte etwas einfacher und du hast sogar eine Vorschaumöglichkeit. Ich habe mal eine Komponente für QR gefunden, die einen Text in einem beliebigen Winkel darstellen kann.

Ich habe mal ein kleines Beispiel angehängt, hoffe es hilft dir.

Du musst zuerst dir Komponente hinzufügen, dann das Beispiel öffnen.

MfG
Thorsten

needatip 24. Okt 2004 20:23

Re: Etikettendruck horizontal und vertikal
 
Möchte keine QuickReport oder Rave Komponenten verwenden, sondern direkt auf den Canvas ausgeben.
Kann mir dazu jemand helfen ?

Michi27 3. Jul 2005 17:24

Re: Etikettendruck horizontal und vertikal
 
@ Omata,



Danke für diesen Tip, der hat mir persönlich sehr geholfen :-) danach habe ich schon lange gesucht.

Bis dann

Michael

omata 3. Jul 2005 17:38

Re: Etikettendruck horizontal und vertikal
 
Hallo Michael,

danke für diese positive Rückmeldung.
Es freut mich, dass dir der Tipp geholfen hat.

MfG
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz