Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Printer.Canvas Papierlänge bei Bondruckern (https://www.delphipraxis.net/185365-printer-canvas-papierlaenge-bei-bondruckern.html)

Captnemo 3. Jun 2015 14:10

Printer.Canvas Papierlänge bei Bondruckern
 
Der Titel ist möglicherweise etwas unglücklich, aber viel nicht besseres ein.

Also hier mal zu meinem Problem. Ich drucke per Printer.Canvas Belege auf einem Bondrucker Epson TM-88 aus, der mit variabler Papierlänge nach dem Druck den Bon automatisch abschneidet.

Soweit auch kein Problem. Nur wird nach der letzten Ausgabe auf dem Canvas auch des Papier abschnitten.

Nun könnte ich natürlich auch weiter unter noch einen Punkt oder so drucken, möchte ich aber nicht. Wie könnte man über den Canvas eine letzten Vorschub realisieren, der vom Drucker ausgeführt wird, bevor das EndDoc ausgeführt wird.

baumina 3. Jun 2015 14:49

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Bei der Ermittlung der Papierlänge einfach einen unteren Rand addieren?

hstreicher 3. Jun 2015 19:34

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Bei vielen Supermarktkassen sehe ich das so
sie drucken den Beleg (Ohne Logo/Kopf was auch immer),
dann ein paar Leerzeilen,
Abschneiden
und dann schon mal das nächste Logo

himitsu 3. Jun 2015 20:44

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Die steuern den Scheiden-Befehl vermutlich manuell an.

HolgerX 4. Jun 2015 13:53

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Oder diese Bon-Drucker werden einfach mit ASCII-Text angesprochen, dann wird am Ende des eigentlichen (formatierten) Text wirklich nur ein paar Leerzeilen (CRLF) angehängt.

Darüber ist allerdings dann kein Grafik-Druck, sondern nur reiner Text möglich.

Eventuell lässt sich das noch nen bisschen auf hübschen, wenn der Drucker mit ESC-Steuerzeichen arbeitet.

Olli73 4. Jun 2015 14:14

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Zitat:

Zitat von HolgerX (Beitrag 1304150)
Oder diese Bon-Drucker werden einfach mit ASCII-Text angesprochen, dann wird am Ende des eigentlichen (formatierten) Text wirklich nur ein paar Leerzeilen (CRLF) angehängt.
Darüber ist allerdings dann kein Grafik-Druck, sondern nur reiner Text möglich.
Eventuell lässt sich das noch nen bisschen auf hübschen, wenn der Drucker mit ESC-Steuerzeichen arbeitet.

Ja das lässt sich i.d.R. aufhübschen, auch Grafiken sind meist möglich. Habe das letztes Jahr für "Android -> Bluetooth -> mobiler Drucker" programmiert.

Dabei ist dann aber wieder zu beachten: Manche Geräte lassen sich umschalten zwischen "Continuous Mode" und "Page Mode", wobei letzterer dann wieder eine Seitengröße benötigt.

Neumann 4. Jun 2015 14:59

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Drucke selber auf Bondruckern mit Fastreport, da gibt es das Problem auch.

Bei manchen Bondruckern gibt es einen Papiersparmodus, den kann in den Einstellungen des Druckers abschalten; dieser bewirkt, dass nach dem letzten Pixel + x abgeschnitten wird.

mensch72 4. Jun 2015 16:24

AW: Printer.Canvas Papierlänge bei Bondruckern
 
einfach per EscapeSequenz die Sache so ansteuern wie man will

https://reference.epson-biz.com/modu...?content_id=72

das geht schon seit Urzeit von Nadeldruckern an bei Epson so:)

Captnemo 4. Jun 2015 16:51

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Vielen Dank für die vielen Antworten.

Ich bin die Tage wieder bei meinem Kunden, dann werde ich mal das eine oder andere ausprobieren. Leider habe ich in meinem Bestand keinen solchen Drucker zum Testen, so dass ich das alles offline entwickeln muss, und erst beim Kunden sehe, was wie funktioniert.

Einfach weiter unten ein Pixel setzen um den Drucker bzw. den Druckertreiber zu überlisten ist eine Möglichkeit, die aber nicht so schön ist.

Ich werde auch mal probieren, was passiert, wenn ich einfach über den Canvas Leerzeichen ausgebe, vielleicht funktioniert das ja.

Das abschneiden übernimmt auf jeden Fall der Druckertreiber, denn das tut er automatisch wenn das Dokument mit EndDoc abgeschlossen wird. Und der Drucker ist nicht auf eine feste Seitenlänge eingestellt.

Mit den ESC-Sequenzen liest sich auch ganz gut, aber leider kann ich das hier nicht ausprobieren (erst wieder beim Kunden, und da habe ich meinen Entwicklungsrechner nicht mit). Mir ist auch noch nicht klar, wie ich die in das Dokument einbauen soll, weil ich das noch nie gemacht habe. Werd mal Google bemühen.
Im Formular kann ich letztlich machen was ich will, da ich über keinen der bekannten Reportengines gehe, sondern mir meinen eigenen Reportdesigner geschrieben habe.

mm1256 4. Jun 2015 17:09

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Zitat:

Zitat von Captnemo (Beitrag 1304167)
...Pixel setzen um den Drucker bzw. den Druckertreiber zu überlisten ist eine Möglichkeit, die aber nicht so schön ist.

Was ist daran unschön? Vorteile: Es funktioniert im Gegensatz zu den ESC-Sequenzen mit jedem Drucker und wenn es nur "ein Pixelchen" ist, fällt es auch niemandem auf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:25 Uhr.
Seite 1 von 2  1 2      

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