Direct Printing: Epson TM-T70 + Ubuntu
Vull utilitzar la impressora Epson TM-T70 amb Ubuntu 8.04
Mirant openprinting.org, no apareix a la llista, i mirant impressores similars veig que suporten el direct printing. Això deu ser enviar directament allò que vols imprimir al port paral.lel.
Epson TM T88iV: Printer supports direct text printing with the 'us-ascii' charset.
Direct printing:
$ sudo bash $ echo hola > /dev/lp0
Efectivament, funciona, però no talla el paper i no podem imprimir un logo.
$ ls -la lp0 dono permisos a l'usuari joan per escriure en el port paral.lel: $ chmod a+w lp0 $ su joan $ echo hola > /dev/lp0
i ja està
Com inserto un retorn de carro o altres caràcters especials?
$ echo -e "line1\nline2" > /dev/lp0 -e to enable output escape characters
If -e is in effect, the following sequences are recognized: \0NNN the character whose ASCII code is NNN (octal) \\ backslash \a alert (BEL) \b backspace \c suppress trailing newline \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab \' Apostrophe or single quote \" Double quote
Si vull ficar accents hauré d'utilitzar la llista de codis ASCII:
224 à à 225 á á 226 â â 227 ã ã 228 ä ä 229 å å
Els accents no funcionen. He de ficar el caràcter ASCII
224 decimal és 340 octal
http://www.ascii.cl/es/conversion.htm
$ echo -e "\0340"
no apareix res perquè el direct printing funciona amb us-ascii, on no hi ha accents. Per tant, això és una limitació important.
http://www.columbia.edu/kermit/ascii.html
Per tallar el paper ha de ser algun d'aquests caràcters ascii. Ho trobaré per la força bruta.
0 dec -> 0 oct 127 dec -> 177 oct
$ echo -e "\00\01\02\03\04\05\06\07\08\09" > /dev/lp0 $ echo -e "\010\011\012\013\014\015\016\017\018\019" > /dev/lp0 $ echo -e "\020\021\022\023\024\025\026\027\028\029" > /dev/lp0 $ echo -e "\030\031\032\033\034\035\036\037\038\039" > /dev/lp0 $ echo -e "\040\041\042\043\044\045\046\047\048\049" > /dev/lp0 $ echo -e "\050\051\052\053\054\055\056\057\058\059" > /dev/lp0 $ echo -e "\060\061\062\063\064\065\066\067\068\069" > /dev/lp0 $ echo -e "\070\071\072\073\074\075\076\077\078\079" > /dev/lp0 $ echo -e "\080\081\082\083\084\085\086\087\088\089" > /dev/lp0 $ echo -e "\090\091\092\093\094\095\096\097\098\099" > /dev/lp0 $ echo -e "\0100\0101\0102\0103\0104\0105\0106\0107\0108\0109" > /dev/lp0 $ echo -e "\0110\0111\0112\0113\0114\0115\0116\0117\0118\0119" > /dev/lp0 $ echo -e "\0120\0121\0122\0123\0124\0125\0126\0127\0128\0129" > /dev/lp0 $ echo -e "\0130\0131\0132\0133\0134\0135\0136\0137\0138\0139" > /dev/lp0 $ echo -e "\0140\0141\0142\0143\0144\0145\0146\0147\0148\0149" > /dev/lp0 $ echo -e "\0150\0151\0152\0153\0154\0155\0156\0157\0158\0159" > /dev/lp0 $ echo -e "\0160\0161\0162\0163\0164\0165\0166\0167\0168\0169" > /dev/lp0 $ echo -e "\0170\0171\0172\0173\0174\0175\0176\0177" > /dev/lp0 \08\09" > /dev/lp $ echo -e "\00\01\02\03\04\05\06\07\08\09" > /dev/lp
La solució la tinc en una pàgina web:
Open Drawer Code (http://pages.prodigy.net/daleharris/popopen.htm)
Epson TM-T70:
- Drawer Code: 27,112,48,55,121
- Cutter Code: 27,109
27 -> 033 109 -> 155 112 -> 160 48 -> 060 55 -> 067 121 -> 171
$ echo -e "\0033\0155" > /dev/lp0 -> funciona!!
i el cash drawer suposo que també funciona:
$ echo -e "\0033\0160\0060\0067\0171" > /dev/lp0
creat per Joan Quintana Compte, juny 2009