AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Papierschneider eines POS Druckers ansteuern
Thema durchsuchen
Ansicht
Themen-Optionen

Papierschneider eines POS Druckers ansteuern

Ein Thema von TurboMagic · begonnen am 5. Dez 2024 · letzter Beitrag vom 7. Dez 2024
Antwort Antwort
Seite 1 von 2  1 2      
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.965 Beiträge
 
Delphi 12 Athens
 
#1

Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 20:57
Hallo,

ich würde gerne den Cutter eines POS Druckers benutzen.
Wenn ich das "roh" als ESC/Pos Kommando hin sende klappt alles.

Nur die Frage: gibt's da nicht direkt was im Drucken API von Windows dafür?
Ich konnte bisher noch nichts finden.

Und falls es nichts gibt:
Wenn ich meine bisherige Druckausgabe (die komplett auf ESC/Pos Befehle setzt)
durch Drucken per GDI/Printers.pas umsetelle, wo muss dann der Befehl zum
Ansteuern des Cutters hin? Vor EndPage und EndDoc oder zwischen EndPage und
EndDoc oder nach EndDoc?

Ach ja, für C# scheint's was "out of the box" zu geben:
https://learn.microsoft.com/en-us/uw...ntjob-cutpaper
Grüße
TurboMagic

Geändert von TurboMagic ( 5. Dez 2024 um 21:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 21:51
Bestimmt nach EndPage/EndDoc? (nachdem die Seite fertig ist)

Ich dachte TPrinter hätte eine Public/Protected Methode, zum Senden von Daten, aber nee?

Wenn du ans TPrinter.FPrinterHandle dran kommst, dann kannst du WritePrinter aus der Winapi.WinSpool.pas benutzen.
(property Handle: HDC ist ja das falsche Handle)




https://blog.idera.com/developer-too...hrough-escape/
https://github.com/git-bee/TRAWPrint...RawPrinter.pas
$2B or not $2B

Geändert von himitsu ( 5. Dez 2024 um 21:53 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.083 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 21:52
Nur die Frage: gibt's da nicht direkt was im Drucken API von Windows dafür?
Ich konnte bisher noch nichts finden.
Man stellt in den Druckeinstellungen von Windows ein, dass nach dem Druck abgeschnitten werden soll. So ist das zumindest bei unseren Citizens.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.965 Beiträge
 
Delphi 12 Athens
 
#4

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 21:58
Bestimmt nach EndPage/EndDoc? (nachdem die Seite fertig ist)

Ich dachte TPrinter hätte eine Public/Protected Methode, zum Senden von Daten, aber nee?

Wenn du ans TPrinter.FPrinterHandle dran kommst, dann kannst du WritePrinter aus der Winapi.WinSpool.pas benutzen.
(property Handle: HDC ist ja das falsche Handle)




https://blog.idera.com/developer-too...hrough-escape/
https://github.com/git-bee/TRAWPrint...RawPrinter.pas
Danke. Ich bekomme bisher schon RAW Daten an den Drucker geschickt und somit den Cutter angesteuert.
Nur mach' ich da halt derzeit alles per ESC/POS. Ich hatte halt gehofft, dass Windows schlau genug ist
für sowas auch mal endlich eine Methode bereit zu stellen,
Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.965 Beiträge
 
Delphi 12 Athens
 
#5

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 22:00
Nur die Frage: gibt's da nicht direkt was im Drucken API von Windows dafür?
Ich konnte bisher noch nichts finden.
Man stellt in den Druckeinstellungen von Windows ein, dass nach dem Druck abgeschnitten werden soll. So ist das zumindest bei unseren Citizens.
Naja, dann müsste ich aber für jeden einzelnen Bon (also nicht eine Rechnung, sondern eine Wertmarke z.B. für 1x Pommes)
ein eigenes Dokument erzeugen. Und der Anwender muss das in den Druckertreiber Einstellungen einstellen.
Nur: Anwender und was einstellen...
...riecht nach mehr Supportaufwand.

Aber danke trotzdem!
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 22:03
Windows ja
Embarcadero nein
und um es zu zementieren, verstecken sie den nötigen Zugang vor dir.

Auch was den Zugang zu druckerspezifischen Settings betrifft.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.654 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 22:09
Ach ja, für C# scheint's was "out of the box" zu geben:
https://learn.microsoft.com/en-us/uw...ntjob-cutpaper
Das ist nicht nur für C#. Das kannst du auch problemlos in Delphi nutzen. Schau dir einfach mal die Unit Winapi.Devices.PointOfService.pas an, die im Rahmen der Windows RT API Schnittstellen mit Delphi mitgeliefert wird.

Wenn ich meine bisherige Druckausgabe (die komplett auf ESC/Pos Befehle setzt)
durch Drucken per GDI/Printers.pas umsetelle
Wäre es im POS Bereich nicht sinnvoller, auf ePOS-Print XML zu setzen?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.965 Beiträge
 
Delphi 12 Athens
 
#8

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 22:30
Hallo,

danke für diese Hinweise!
Habe bei meiner Google Suche nichts gefunden gehabt, welches auf die
von dir aufgeführte Unit hinweißt oder das darunter liegende API.

Naja, der Druckencode ist schon älter und ich weiß auch noch nicht ob
dieses XML format vom Drucker unterstützt wird. Drucken üer GDI aber
definitiv.

Ich weiß noch nicht so recht, was mir ePOS-Print bringen soll.
Muss ich mal bei nächster Gelegenheit recherchieren.
Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.654 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Papierschneider eines POS Druckers ansteuern

  Alt 5. Dez 2024, 23:35
ich weiß auch noch nicht ob
dieses XML format vom Drucker unterstützt wird.
Das geht natürlich nur mit Druckern von Epson. Aber im Kassenbereich sind diese ja weit verbreitet.

Ich weiß noch nicht so recht, was mir ePOS-Print bringen soll.
Muss ich mal bei nächster Gelegenheit recherchieren.
Ein wichtiger Vorteil ist, dass man keine Treiber und kein bestimmtes Betriebssystem benötigt. Man kann diese Druckaufträge einfach direkt an den Drucker schicken, ohne sich um Treiber oder die Druckerwarteschlange von Windows zu kümmern. Das macht die Einrichtung eines Kassensystems deutlich einfacher. Außerdem funktioniert es sehr gut z.B. mit Tablets oder cloudbasierter Kassensoftware.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
757 Beiträge
 
#10

AW: Papierschneider eines POS Druckers ansteuern

  Alt 6. Dez 2024, 06:41
Wähl mal den Font "control" und size 9 (bei letzterem weiß ich nicht, ob das wichtig ist) und sende ein "P" ...

(Ist hoffentlich ein Epson-Drucker oder was kompatibles.)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 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