Delphi-PRAXiS

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.

Captnemo 4. Jun 2015 17:46

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

Zitat von mm1256 (Beitrag 1304169)
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.

Unschön ist's für mich persönlich. Den Kunden stört's vermutlich nicht die Bohne.

Aber ich könnt's ja weiß machen 8-)

himitsu 4. Jun 2015 17:55

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Weiß auf Weiß ist ja so gut wie nix. Wenn das Ding nach dem letzten "gedruckten" Pixel abschneidet, dann sollte es das ja ignorieren.
Und wenn da jetzt jemand rotes oder schwarzes Pappier einlegt (vorallem gegen Ende der Rolle), dann sieht man das weiße Pixel dennoch. :lol:

Captnemo 5. Jun 2015 06:27

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

Zitat von himitsu (Beitrag 1304173)
Weiß auf Weiß ist ja so gut wie nix. Wenn das Ding nach dem letzten "gedruckten" Pixel abschneidet, dann sollte es das ja ignorieren.

Versteh ich nicht. Meinst du der Druckertreiber ist so "schlau", dass er meinen weißen Punkt ignoriert? Dat wär ja nen Ding, kann ich mir nicht vorstellen.

Zitat:

Zitat von himitsu (Beitrag 1304173)
Und wenn da jetzt jemand rotes oder schwarzes Pappier einlegt (vorallem gegen Ende der Rolle), dann sieht man das weiße Pixel dennoch. :lol:

Mag sein, dass es das gibt, aber ich habe noch nie jemand gesehen, der Bon's (in diesem Fall Pfandbon's) auf rotem oder schwarzem Papier druckt :-D
Ich habe hier noch einen alten Citizen Bondrucker, das ist ein Nadeldrucker für Rollenpapier mit Druchschlag. Auf dem würde man das sicherlich sehen. Aber beim Kundensystem handelt es sich um einen Thermodrucker.

mm1256 5. Jun 2015 09:08

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

Zitat von himitsu (Beitrag 1304173)
Und wenn da jetzt jemand rotes oder schwarzes Pappier einlegt (vorallem gegen Ende der Rolle), dann sieht man das weiße Pixel dennoch. :lol:

Mag sein, dass es das gibt, aber ich habe noch nie jemand gesehen, der Bon's (in diesem Fall Pfandbon's) auf rotem oder schwarzem Papier druckt :-D
Ich habe hier noch einen alten Citizen Bondrucker, das ist ein Nadeldrucker für Rollenpapier mit Druchschlag. Auf dem würde man das sicherlich sehen. Aber beim Kundensystem handelt es sich um einen Thermodrucker.[/QUOTE]

Ich denke, das Problem wird eher sein, woher der (Thermo-)Drucker seine "weiße Farbe" für den Pixel nimmt :?:

p80286 5. Jun 2015 09:50

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

Zitat von mm1256 (Beitrag 1304221)
Ich denke, das Problem wird eher sein, woher der (Thermo-)Drucker seine "weiße Farbe" für den Pixel nimmt :?:

Wenn man es etwas allgemeiner nimmt, die Frage ist immer wie der Drucker in der Lage ist ESC-Sequenzen in der Praxis umzusetzen.

Gruß
K-H

himitsu 5. Jun 2015 10:00

AW: Printer.Canvas Papierlänge bei Bondruckern
 
Zum Glück hatte keiner das Ironismilie entdeckt.
Nja, ist wie im Backofen, wenn das Huhn 18 Stunden bei 600°C brutzelt und natürlich wie im Winter ... Heiß = Schwarz und ganz Kalt = Weiß :lol:

Zitat:

Zitat von Captnemo (Beitrag 1304208)
Versteh ich nicht. Meinst du der Druckertreiber ist so "schlau", dass er meinen weißen Punkt ignoriert? Dat wär ja nen Ding, kann ich mir nicht vorstellen.

Nee, genau andersrum. Ich denk eher er wird vermutlich nicht so schlau sein und schauen wo etwas gezeichnet wird, sondern er schaut einfach nach, wo es farbige Felcken gibt. (Pixel <> weiße Hintergundfarbe)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 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