![]() |
Canvas Zentriert ausdrucken
Hallo ich will mit folgendem Code ein String ausdrucken
Delphi-Quellcode:
Jedoch kommt es nicht zentriert raus was kann ich da noch machen?
Printer.BeginDoc;
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); printer.Canvas.Font.Size:=20; caption:='Hallo'; Printer.canvas.TextOut((printer.PageWidth-canvas.TextWidth(caption))div 2, 0, Caption); Printer.endDoc; |
AW: Canvas Zentiert ausdrucken
Code:
x := (xPosRechterRand + xPosLinkerRand - TextBreite) div 2;
Printer.canvas.TextOut(x, 0, Caption); |
AW: Canvas Zentiert ausdrucken
wie bekomme ich po linker und rechter Rand ?
|
AW: Canvas Zentiert ausdrucken
Wenn du selbst ohne eigenen Rand druckst und den gesamten druckbaren Bereich nutzen willst:
Delphi-Quellcode:
xPosLinkerRand := 0;
xPosRechterRand := Printer.PageWidth; |
AW: Canvas Zentiert ausdrucken
Dann kommt wieder das gleiche raus, was der TE oben stehen hat :thumb:
|
AW: Canvas Zentiert ausdrucken
Ah ich hab den kleinen Fehlerteufel entdeckt:
Printer.canvas.TextOut((printer.PageWidth-printer.canvas.TextWidth(caption))div 2, 0, Caption); |
AW: Canvas Zentiert ausdrucken
Klappt nicht ist ein bondrucker mit 8 inch papier. Wie kann ich die Pagewidth oder das papierformat ändern?
druckauflösung ist 202x204 pro inch |
AW: Canvas Zentiert ausdrucken
Im Printersetup.
|
AW: Canvas Zentiert ausdrucken
Normalerweise zentriert man auch über dem Dokumenteninhalt.
Wenn es denn unbedingt über die ganze Papierbreite sein soll, vieleicht so:
Delphi-Quellcode:
Allerdings muss dafür im Druckertreiber auch die richtige Papierbreite eingestellt sein.
xPosLinkerRand := 0 - GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
xPosRechterRand := xPosLinkerRand + GetDeviceCaps(Printer.Handle, PHYSICALWIDTH); Klappt nicht ersetzt übriegens keine Fehlerbeschreibung. |
AW: Canvas Zentiert ausdrucken
Der 8 in. ist ein gestellt die breite des Bon hat 8 cm vielleicht liegt es daran wie kann ich es ändern? er zeigt mir nur größere inch werte bei den druckereinstellungen an
|
AW: Canvas Zentiert ausdrucken
Zitat:
Zitat:
|
AW: Canvas Zentiert ausdrucken
Und nun ne andere papiersorte kann ich nicht einstellen
|
AW: Canvas Zentiert ausdrucken
Was kann ich denn machen. gibt es ne möglichkeit oder nen Codesnipsel mit dem ich die Pagewidth auf 8cm stellen kann?
|
AW: Canvas Zentiert ausdrucken
Zitat:
Zitat:
Zitat:
U.U. wäre es sinnvoll uns mitzuteilen um welchen Drucker es sich handelt, und was für ein "Papier" Du bedrucken möchtest (Etiketten? Endlos?) Gruß K-H P.S. Könnte es sein, daß hier Pixel und Millimeter und ... durcheinander geworfen werden?
Delphi-Quellcode:
printer.PageWidth-canvas.TextWidth(caption))div 2, 0, Caption);
|
AW: Canvas Zentiert ausdrucken
also der drucker ist ein Thermodrucker TPG Color pos A795. hat 8cm breite bonrollen eingestellt ist der drucker papiergröße 8in. . Es gibt dort nur noch größere in. Werte.
|
AW: Canvas Zentiert ausdrucken
Zitat:
![]() Wenn du die echte Breite nicht einstellen kannst, dann wird das so wohl nichts. Wenn man nur ausrechnen könnte, wie breit 8cm in Pixeln auf dem Drucker ist, das wäre ja was, aber das muss bestimmt noch erfunden werden (kann auch sein, dass das Lehrstoff aus der Grundschule ist "Dreisatz"). |
AW: Canvas Zentiert ausdrucken
ja das ist der drucker. das mit dem ausrechnen währe kein problem. :-p wie kann ich ihm die werte setzen?
|
AW: Canvas Zentiert ausdrucken
Was willst du wem da setzen?
Zeichne doch einfach nur in dem Bereich |
AW: Canvas Zentiert ausdrucken
Unter Umständen fehlt Dir
![]() Überhaupt ist das Manual recht interessant. Ggf. solltest Du überlegen den Drucker direkt mit den notwendigen Kommandos zu füttern. Gruß K-H |
AW: Canvas Zentiert ausdrucken
danke das wars auf die idee wäre ich nicht gekommen. habe jetzt dem drucker 80 mm eingestellt und jetzt funtz es. Auf die einfachsten sachen kommt mann nicht gibt es ne möglichkeit den drucker per befehl auf ne ander papiergröße umzustellen. laut programming guide muss wieder ein string an den drucker geschickt werden. mit dem kassenladen öffnen hat es ja nun geklappt. bekommt man das ohn viel codebastelei hin?
|
AW: Canvas Zentriert ausdrucken
Zitat:
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz