![]() |
Drucken unter Android
Hallo,
ich habe bisher unter Windows mit Fastreport gearbeitet bei der Anwendungsentwicklung für Android steht mir weder die VCL noch die FMX Version zur Verfügung. Womit kann man Drucken? Es werden hauptsächlich Kassenbons gedruckt. |
AW: Drucken unter Android
Dies würde mich auch brennend interessieren.
Ich dachte dies geht vielleicht mit FastReport (Client/ Server (muss separat erworben werden)). Leider bin ich hier keinen Schritt weiter :-( |
AW: Drucken unter Android
Laut Matrix nicht, hatte mir schon fastreport fmx gekauft.
Wie kann man bei einem Marktanteil von 71,55 Prozent (Android) und 27,8 Prozent (Apples iOS) ein Produkt fmx fähig bezeichnen ? |
AW: Drucken unter Android
FMX heißt erstmal nichts.
zusätzlich sind die unterstürtzen Plattformen entscheidend. |
AW: Drucken unter Android
Vielleicht hilft
![]() |
AW: Drucken unter Android
Die einfachste Lösung wäre es ESC-Sequenzen direkt über Bluetooth an den Drucker zu schicken.
Für die diese Lösung brauchst du keine zusätzlichen Komponenten. |
AW: Drucken unter Android
Danke, das mit den ESC denke ich wird der beste weg sein. Hat da jemand ein Beispiel
wie ich das umsetzen kann. Der Drucker ist ein Bixolon Bon-Drucker. Danke euch! |
AW: Drucken unter Android
Über Bluetooth ist das nicht so einfach. Einfacher wäre ein Netzwerkdrucker, mit dem man eine einfache Netzwerkverbindung z.B. über W-LAN aufbauen kann. Dem kann man dann einfach die Escapesequenzen als Text schicken. Am besten klappt das allerdings mit Epson-Druckern, die direkt XML unterstützen (ePOS Print XML), weshalb die auch sehr verbreitet sind bei Verwendung mit Tablets. Per XML habe ich so schon problemlos drucken können.
In jedem Fall brauchst du dafür die Dokumentation des Herstellers, damit du weißt, was du schicken musst. Da Android mittlerweile auch eine ganz gute Druckerschnittstelle hat, ist die aber auch sinnvoll nutzbar. Die bereits erwähnte Bibliothek von Winsoft ist dafür eine Möglichkeit und wurde ja auch schon bei Embarcadero vorgestellt: ![]() Ich habe diese vor einiger Zeit mal ausprobiert, als ich beruflich noch mit Kassen zu tun hatte. Das sah vielversprechend aus. |
AW: Drucken unter Android
Gibt es wirklich keine Möglichkeit "Reports" (also Berichte, Kassenbons, etc.) auf einem mobilen Geräte (Android und IOS) zu erzeugen und dann z.B. per Mail zu versenden?
In der Regel werden die Daten ja auf dem mobilen Gerät erzeugt und in einer Datenbank gespeichert. Jetzt müsste man hier auch den Bericht erzeugen und z.B. als PDF speichern und senden können. |
AW: Drucken unter Android
Hallo,
auf die Winsoft’s Library war ich auch schon gestoßen hat aber den Nachteil das immer eine Vorschau kommt und man den Drucker wählen muss (so wie ich das verstehe) Hinzu kommt das der Bixolon Drucker dort als Drucker nicht nach einer Kopplung erscheint sondern erst irgendwelche Drucker-Apps installiert werden müssen um den Drucker als Drucker zu finden. Ich hab nochmal ein bisschen gegoogelt und probiert bin jetzt soweit das ich in einer ComboBox alle verbundenen Bluetoothgeräte somit auch den Bixolon auflisten kann und festlegen kann. Mit dem folgenden Code: procedure TfraDrucker.ButtonClick(Sender: TObject); var DX:String; SND:TBytes; LServices : TBluetoothServiceList; ServiceGUI, ServiceName:String; lprintheader : string; lprintfooter : string; begin if LDevice.IsPaired then begin LServices := LDevice.GetServices; SelDevice := LDevice; serviceGUI :='{00001101-0000-1000-8000-00805F9B34FB}'; serviceName :='SerialPort'; guid:= StringToGUID(servicegui); end; {/device} if (LDevice <> nil) then begin LSockect := SelDevice.CreateClientSocket(Guid, true); //was LDevice if (Assigned(LDevice)) And (Assigned(LSockect)) then begin if Not LSockect.Connected then LSockect.Connect end else begin LSockect := SelDevice.CreateClientSocket(Guid, True); LSockect.Connect; end; lprintheader := lprintheader + ' ESC@ LF'; if Assigned(LSockect) then begin if LSockect.Connected then begin DX := lprintheader; SND := TEncoding.UTF8.GetBytes(DX); LSockect.SendData(SND); Sleep(100); LSockect.Close; // Connected := False; end; end; end; ich kann den Drucker anschließend ansprechen, der Drucker reagiert mit Empfangsmeldung macht alle 4 Clicks einen LF. Wie muss ich die Steuerzeichen übertragen? ASCII, HEX, Trennzeichen dazwischen oder nur leerzeichen ? Wie kann ich einen Text senden? Fragen über Fragen Danke für eure Bemühungen Jürgen |
AW: Drucken unter Android
ESC ist normalerweise als #27 zu senden. Nicht ESC!
Wir sind hier nicht beim Grand PRIX :P |
AW: Drucken unter Android
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein uraltes Projekt von mir für Woosim Printer und für Zebra Printer.
Dem Zebra sende ich sowas:
Code:
Und dem Woosim sowas:
^XA
^LL320 ^POI ^CI27 ^FO20,010^A0N,20,20^FDName:^FS ^FO20,040^A0N,36,36^FDHans Mustermann^FS ^FO20,090^A0N,20,20^FDStraße / Hausnummer:^FS ^FO20,120^A0N,36,36^FDBahnhofstraße 18 (äöüßÄÖÜ€)^FS ^FO20,170^AON,20,20 ^TBN,536,120 ^FDDies ist ein längerer Text, der automatisch umgebrochen wird, da er in einem Textblock steckt!^FS ^XZ
Code:
[1B40][1B7404]Hello World![0A][1B2130]***äöüßÄÖÜ€***[1B2100][0A][1b2a000f000102040810204080402010080402010a1b2a010f000102040810204080402010080402010a][0A]ende[0A0A]
Der Bixolon arbeitet wahrscheinlich ähnlich (im besten Fall gleich) wie der Woosim... |
AW: Drucken unter Android
Zitat:
![]() |
AW: Drucken unter Android
Zitat:
Danke das hat geholfen, bin jetzt weiter gekommen. Die Variable DX wurde jetzt als AnsiString deklariert und das encoding von UTF8 auf ASCII umgestellt. TEncoding.ASCII.GetBytes(DX); Jetzt druckt er, werde den Code nach Fertigstellung mal Online stellen für euch. DANKE |
AW: Drucken unter Android
Hattest du meine Testanwendung probiert?
|
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Zitat:
![]() Jedenfalls schicke ich dem Woosim Escape-Sequenzen. Das sollte doch auch mit dem Bixolon so sein? |
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Zitat:
|
AW: Drucken unter Android
Ist halt, wie geschrieben, uralter Code.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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-2025 by Thomas Breitkreuz