tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
568
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Hi,

    Ich habe einen Etikettendrucker, der Befehle im Ascii- Format benötigt.
    Wenn ich den Testseitenbefehl in eine Datei schreiben lasse, sieht das so aus:
    PrinterTest1.prn
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    qCn
    M0500
    O0220
    V0
    SC
    D
    L
    D11
    PC
    SC
    1X1100000910000L154001
    1X1100000010000L001091
    1X1100000880003L151001
    1X1100000010003L001088
    1X1100000660010L040005
    1X1100000120028L005060
    1X1100000660060L035005
    1X1100000390060L030005
    1X1100000120060L035005
    1X1100000120061L005060
    1X1100000660105L035005
    1X1100000390105L035005
    1X1100000120105L035005
    1X1100000390105L005033
    1X1100000120135L005033
    1X1100000660150L004005
    Q0001
    E

    Wenn ich jedoch einen String an den Port sende, habe ich rein diesen String im Logfile.

    Hat da jemand schon Erfahrung damit?
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Ich habe dein Problem jetzt nicht ganz verstanden. Was geht nicht?
     

  3. #3
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Der Drucker wird über Kommandos im Ascii Format gesteuert.
    Zum Beispiel dieser Code liefert ein Etikett mit dem Artikel und dem Barcode darunter.
    Code :
    1
    2
    3
    4
    5
    6
    
    <STX> L <CR>
    H07 <CR>
    D11 <CR>
    19110080100002510K OHM 1/4 WATT <CR>
    1a6210000000050590PCS <CR>
    E

    Die Frage ist, wie kann ich das an den Drucker senden?
     

  4. #4
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Ich nehme an, das das in unicode geschickt wird und deshalb vom Drucker nicht ausgewertet werden kann.
    Hier ist genauer erklärt, was er braucht.
    http://www.datamaxcorp.com/_assets/l..._manual_a3.pdf

    Muss ich dann den String in bytes umformatieren?
     

  5. #5
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Über den PrintService kannst du dir den Drucker raussuchen und dann dein Byte-Array (ByteArrayInputStream) darauf drucken:

    http://www.tutorials.de/forum/java/2...usdrucken.html
     

  6. #6
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Hmm, also ich kann das Ding jetzt einmal ansprechen, und darauf drucken.
    Das Schwierigste dabei war bis jetzt der Startbefehl (<STX> ist Ctrl B is 2)
    Soweit so gut.
    String kann ich auch übergeben, aber Umlaute machen echt Probleme.
    hab aus dem Ding bis jetzt noch keinen einzigen Umlaut herausgebracht.
    Wenn ich ihm 153 sende, Druckt er das Pfund- Zeichnen. Bei allen anderen, entweder Fragezeichen oder nichts.

    Anleitung: http://www.datamaxcorp.com/_assets/l..._manual_a3.pdf

    Ach ja, das ergibt in der ersten Zeile einen Barcode, und danach die Beschreibung.
    Code :
    1
    2
    3
    4
    5
    
    OutputStream fos = new FileOutputStream( "COM1:" );
    PrintWriter pw = new PrintWriter( fos );
    String bla = "\u0002L\r\nH07\r\nD11\r\nH07\r\n1F62040001" + bcLine[2] + "3001\r\n19110030001001010K OHM 1/4 WATT\r\nE";
    pw.println(bla);
    pw.close();
     

  7. #7
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    keiner eine Idee?
     

  8. #8
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    wenn dein Drucker nur Ascii Zeichen verträgt solltest du mal versuchen je ein Zeichen als byte zu schicken...
    unter java haben die Zeichen (char) 2 byte wegen Unicode... das gilt auch für die Zeichen von String

    deshalb:
    write((byte)'a');

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  9. #9
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Dann druckt er die Zahl.
    Hier z.B. 97

    Wenn ich ihm die Variable als char übergebe z.B. 229 => O mit Tilde funktioniert es, aber nicht bei den Umlauten.
    z.B. 148 ,153,142-> Fragezeichen

    225 funktioniert wieder (ß)

    wobei unter Linux geht das gar nicht.
    Geändert von luchs3 (12.09.09 um 14:40 Uhr)
     

  10. #10
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    Ascii Code kennt keine direkten Umlaute...:
    http://de.wikipedia.org/wiki/America...on_Interchange

    Da musst du ae für Ä etc. verwenden.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  11. #11
    luchs3 luchs3 ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    Wien
    Beiträge
    195
    Aber der Drucker kann es, ich habe bereits Ausdrucke von einer Warenwirtschaft gesehen (läuft auf einem SCO Linux -> uralt und keine Ahnung in was geschrieben).
    Es gibt auch eine Tabelle auf Seite 83, 85 im Manual, da wird das mit Hex und Dec im Vergleich angegeben.

    Kann man das noch irgendwie anders schicken?
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 18.07.08, 19:44
  2. Antworten: 2
    Letzter Beitrag: 02.05.08, 08:46
  3. application/octet-stream mit <embed> stream?
    Von tobee im Forum HTML & XHTML
    Antworten: 4
    Letzter Beitrag: 30.03.07, 13:21
  4. XML-Stream an Gateway senden
    Von T1-Fox im Forum PHP
    Antworten: 1
    Letzter Beitrag: 14.03.05, 18:56
  5. Live Stream Converter (Shoutcast Stream)?
    Von plusfunenf im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 22.04.04, 14:45