Drucken aber wie ?

Hier die gesammelten Bemerkungen
Antworten
Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Drucken aber wie ?

Beitrag von BRANDELH »

Hallo,

ich habe hier zwei Windows Mobile Geräte (6.1 und 6.5).
Und einen DPP-250 Drucker => DaTecs Homepage .
Ich habe die Treiber von der CD installiert und per Bluetooth wird dieser auch erkannt. Ich verbinde mit Kennwort 0000 wie laut Handbuch vorgegeben ist.
Ordne einen COM Port zu und dachte das wäre es ...
Im Druckerconfigurationsprogramm kann ich auch Testseiten drucken, aber der Drucker steht auf nicht verbunden.
Wenn ich aus WinDev-Mobile drucken will

Code: Alles auswählen

iConfigure()
iPrint(...)
iEndPrinting()
Wenn ich den Ausdruck in der Emulation auf einen Windowsdrucker sende funktioniert das.
Aber auf dem Windows Mobile Gerät erscheint nur der Hinweis, dass gedruckt wird, dann blinkt kurz die blaue LED.
Und es erscheint eine Fehlermeldung.
Ich würde gerne den Drucker aus einer anderen Anwendung heraus prüfen, aber dummerweise hat weder Word Mobile, noch sonst ein Programm eine Druckausgabe ...
kennt sich jemand mit dem Drucken aus ?

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

RE: Drucken aber wie ?

Beitrag von BRANDELH »

Code: Alles auswählen

iDestination(iPCL,"COM8:")  // der zugewiesene COM Port muss verwendet werden.
iPrintWord("Test")
iEndPrinting()
Das müsste funktionieren, aber offenbar bekommt mein HTC gar keinen Connect mit dem Bluetoth device ...
"Keine Verbindung möglich ... Kennwort falsch oder ..."
Das Problem liegt also tiefer

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Re: Drucken aber wie ?

Beitrag von BRANDELH »

Hi,

der mobile Drucker IST KEIN PCL Drucker ... sondern ESC/POS.
Wenn man den COM Port als Datei öffnet kann man reinen Text drucken,
mit den Steuerzeichen bin ich noch nicht weiter gekommen.
Kleine Grafiken bräuchte ich auch noch ...

Vermutlich liegt es an UNICODE (PocketPC) -> ANSI (ESC/POS Printer)
also muss ich mit Buffer arbeiten ... oder einen speziellen Befehl finden.

Wolfgang Ciriack
Junior Member
Beiträge: 4
Registriert: 30. Juni 2010, 18:32
Wohnort: Berlin
Kontaktdaten:

Re: Drucken aber wie ?

Beitrag von Wolfgang Ciriack »

Hallo Hubert,
unter xharbour mit FWPPC++ hab ich für verschiedene Schriftgrößen diese verwendet:

#define STZ_24CPI chr(27)+"k5"
#define STZ_21CPI chr(27)+"k4"
#define STZ_19CPI chr(27)+"k3"
#define STZ_16CPI chr(27)+"k2"
#define STZ_12CPI chr(27)+"k1"
#define STZ_13CPI chr(27)+"k0"

Gruß Wolfgang

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Re: Drucken aber wie ?

Beitrag von BRANDELH »

Hi,

ich hatte hier ja gar nicht geschrieben wie es geht ...
Man könnte alles auf UNICODE senden, falls alle ESC/POS-Drucker damit zurecht kommen,
das weiß ich aber nicht und Umstellen will ich den Drucker auch nicht.

So geht es mit WinDev Mobile für Windows Mobile:

1. Druckausgabe in ANSI in BUFFER Variable sammeln (Unicode nach Ansi wandeln).
2. Eventuelle Steuerzeichen müssen da im Text natürlich auch rein
3. Grafiken in das Grafikformat umrechnen, nicht ganz einfach, da 8 oder 24 Bit gleichzeitig in die "Grafikspalte" geschrieben werden müssen.
4. Im Drucker und in der Verwaltungssoftware auf RAW Format einstellen (einfach Drucken ohne Kommunikationsprotokoll)
5. Bluetooth Drucker auf COM Port einstellen
6. Mit sOpen() diesen Comport öffnen
7. Mit sWrite() auf diesen Comport schreiben
8. Schließen und das war es.

Bei Android aber gibt es keinen zugeordneten COM Port und auch keine Druckerverwaltungssoftware.
Vermutlich muss man hier mit SocketConnectBluetooth oder so ähnlich einen Socket eröffnen, aber welchen SERVICE ?
Dann den oben gebauten BUFFER direkt auf diesen SOCKET schreiben und schließen ...

Hat das schon mal jemand gemacht ?
Ich würde mich über ein Beispiel mit einfacher Druckausgabe "Hallo Android" sehr freuen ;-)

Benutzeravatar
klammerauf
Member
Beiträge: 116
Registriert: 28. November 2010, 15:11
Wohnort: bei Karlsruhe
Kontaktdaten:

Re: Drucken aber wie ?

Beitrag von klammerauf »

Hallo Hubert,

bist du in dieser Sache eigentlich weiter gekommen?

Ich hatte da mal gegoogelt und bin auf diesen interessanten Thread gestoßen:

http://stackoverflow.com/questions/5229 ... on-android

Aber ein Lösung wird hier auch nicht direkt präsentiert. Hat wohl mit der schlechten Umsetzung von BT-Profilen (in deinem Fall BPP Bluetooth Printing Profile) in Android zu tun.

Sebastian
--
WinDev 23, WM Apps für Android und iOS, Anwendungen für Windows CE Mobile Barcode Scanner, Python 3 mit Oracle

Benutzeravatar
BRANDELH
Site Admin
Beiträge: 199
Registriert: 30. Juni 2010, 14:31
Wohnort: Germersheim
Kontaktdaten:

Re: Drucken aber wie ?

Beitrag von BRANDELH »

Hi,

laut Aussage vom WinDev Support kann die 16er Version nicht auf Android drucken.
Einer schlug noch ein Protokoll vor, mit dem ich aber auch nichts anfangen kann.

Ich schreibe meine Android Anwendung nun mit Basic4Android ( http://www.basic4ppc.com ), dort hatte ich in einer Stunde ein serielles
Kommunikationsprogramm abgewandelt und mein Drucker hat das gedruckt was er sollte.
Zur Verdeutlichung, ich öffne einen seriellen Kanal und sende alle Steuerzeichen und Daten in ANSI auf diesen Kanal.

Windev Mobile selbst unterstützt übrigens ausschließlich PCL Drucker, was auch bei der Windows Mobile 6.5 Anwendung
ein Problem war, bis ich über die COM Schnittstelle direkt gegangen bin (auch alle Steuerzeichen und Daten).
Zusätzlich musste ich vor der Ausgabe noch die UNICODE Strings in ANSI BUFFER umsetzen, da der ESC/POS Drucker nur ANSI will ;-)

Möglich, dass die 17er Version hier Verbesserungen bringt, aber ich werde mir diese nicht holen.
Ein großes Problem - für mich - war z.B. dass viele Befehle die ich in der Windows Mobile Version benutzt hatte nicht unter Android zur Verfüng stehen.
Auch die direkte Verwendung der Windows Masken funktioniert nicht, da dort mit Stift recht kleine Controls gut zu bedienen sind,
auf Android muss man aber für die Finger programmieren, da ist viel weniger Platz.
Dann immer zu sehen "aha, der Befehl geht hier nicht ... aber welcher könnte das Ersetzen..."
da ist es mir lieber ich habe einen BASIC Befehlssatz den ich durchsuche - weniger Kompfort - aber genau das was auf Android geht.

Basic4Android kostet etwa 70 $ - noch Fragen ;-)

Antworten