/* * PrinterApplet.java * * Created on 21 février 2002, 20:57 */ package fr.mch.mdo.client.printer; /** * In the jre/lib/security/java.policy file, we have to add these following lines: * For Ubuntu sun JDK 6: * permission java.lang.RuntimePermission "loadLibrary.rxtxSerial"; * permission java.io.FilePermission "/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext/amd64/librxtxSerial.so", "read"; * permission java.io.FilePermission "/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/ext/librxtxSerial.so", "read"; * permission java.io.FilePermission "/usr/java/packages/lib/ext/amd64/librxtxSerial.so", "read"; * permission java.io.FilePermission "/usr/java/packages/lib/ext/librxtxSerial.so", "read"; * permission java.util.PropertyPermission "gnu.io.log.mode", "read"; * * PropertyPermission "gnu.io.log.mode" ==> Required by RXTX * * @author mathieu ma * @version */ public interface IPrinter { /** parameters key for debug */ String PARAMETER_DEBUG_KEY = "debug"; /** Default value for DEFAULT_CHARSET */ String DEFAULT_CHARSET = "ISO8859_1"; /** parameters key for charset */ String PARAMETER_CHARSET_KEY = "charset"; /** Default value for PARAMETER_LINUX_DRIVER_NAME_KEY */ String DEFAULT_LINUX_DRIVER_NAME = "gnu.io.RXTXCommDriver"; /** parameters key for linuxDriverName */ String PARAMETER_LINUX_DRIVER_NAME_KEY = "linuxDriverName"; /** Default value for PARAMETER_LINUX_DRIVER_NAME_KEY */ String DEFAULT_LINUX_PORT_COM = "/dev/ttyUSB0"; /** parameters key for linuxPortCom */ String PARAMETER_LINUX_PORT_COM_KEY = "linuxPortCom"; /** Default value for PARAMETER_WINDOWS_DRIVER_NAME_KEY */ String DEFAULT_WINDOWS_DRIVER_NAME = "com.sun.comm.Win32Driver"; /** parameters key for windowsDriverName */ String PARAMETER_WINDOWS_DRIVER_NAME_KEY = "windowsDriverName"; /** Default value for PARAMETER_WINDOWS_PORT_COM_KEY */ String DEFAULT_WINDOWS_PORT_COM = "COM1"; /** parameters key for windowsPortCom */ String PARAMETER_WINDOWS_PORT_COM_KEY = "windowsPortCom"; /** Default value for PARAMETER_SERIAL_PORT_BAUDS_KEY */ String DEFAULT_SERIAL_PORT_BAUDS = "9600"; /** parameters key for serialportBauds */ String PARAMETER_SERIAL_PORT_BAUDS_KEY = "serialportBauds"; /** Default value for PARAMETER_SERIAL_PORT_BITS_KEY */ String DEFAULT_SERIAL_PORT_BITS = "8"; /** parameters key for serialportBits */ String PARAMETER_SERIAL_PORT_BITS_KEY = "serialportBits"; /** Default value for PARAMETER_SERIAL_PORT_STOP_BITS_KEY */ String DEFAULT_SERIAL_PORT_STOP_BITS = "1"; /** parameters key for serialportStopBits */ String PARAMETER_SERIAL_PORT_STOP_BITS_KEY = "serialportStopBits"; /** Default value for PARAMETER_SERIAL_PORT_PARITY_KEY */ String DEFAULT_SERIAL_PORT_PARITY = "0"; /** parameters key for serialportParity */ String PARAMETER_SERIAL_PORT_PARITY_KEY = "serialportParity"; /** Default value for PARAMETER_PACKET_KEY */ String DEFAULT_PACKET = "40"; /** parameters key for packet */ String PARAMETER_PACKET_KEY = "packet"; /** Default value for PARAMETER_PAUSE_KEY */ String DEFAULT_PAUSE = "1500"; /** parameters key for pause */ String PARAMETER_PAUSE_KEY = "pause"; /** Default value for PARAMETER_NO_CHECK_DSR_KEY */ String DEFAULT_NO_CHECK_DSR = "false"; /** parameters key for NO_CHECK_DSR */ String PARAMETER_NO_CHECK_DSR_KEY = "noCheckDsr"; /** Default value for PARAMETER_SPECIAL_CHARACTERS_STRING_KEY */ String DEFAULT_SPECIAL_CHARACTERS_STRING = "#;$;à;°;ç;§;^;`;é;ù;è;¨"; /** parameters key for specialCharactersString */ String PARAMETER_SPECIAL_CHARACTERS_STRING_KEY = "specialCharactersString"; /** Default value for PARAMETER_BIND_SPECIAL_CHARACTERS_STRING_KEY */ String DEFAULT_BIND_SPECIAL_CHARACTERS_STRING = "23;24;40;5B;5C;5D;5E;60;7B;7C;7D;7E"; /** parameters key for bindSpecialCharactersString */ String PARAMETER_BIND_SPECIAL_CHARACTERS_STRING_KEY = "bindSpecialCharactersString"; // Imprime et fait avancer 160/144 pouces environ, puis decoupe de la feuille. /** POS(point of sale) byte code for printing, feeding paper, and then cutting paper. */ byte[] PRINT_FEED_PAPER_CUT_SHEET = { (byte) 0x1B, (byte) 0x4A, (byte) 0xF0, (byte) 0x1B, (byte) 0x69 }; // Initialisation de l'imprimante, format de la police, Caracteres internationnaux : Français pour les accents /** POS(point of sale) byte code for initializing printer, formatting police in international charset specially for French accents. */ byte[] INITIALIZE_PRINTER_INTERNATIONAL_CHARACTER = { (byte) 0x1B, (byte) 0x40, (byte) 0x1B, (byte) 0x52, (byte) 0x01 }; /** * Initialization method that will be called after the applet is loaded into the browser. * TODO Add a new parameter named noCheckDsr for USB Epson Printer ==> See Old java code * * In the java.policy file we MUST be updated with the * following lines: * permission java.lang.RuntimePermission "loadLibrary.rxtxSerial"; * permission java.io.FilePermission "C:/Program Files/Java/jre6/lib/ext/x86/rxtxSerial.dll", "read"; * permission java.io.FilePermission "C:/Program Files/Java/jre6/lib/ext/rxtxSerial.dll", "read"; * permission java.util.PropertyPermission "gnu.io.log.mode", "read"; * * The permission java.util.PropertyPermission "gnu.io.log.mode", "read" must be set for applet. */ void init(); /** * This method check the value of key applet parameter name and returns it * if this not null else it returns the default value * * @param key * applet parameter name * @param defaultValue * default value if there is no value with key applet parameter * name * @return the value of key applet parameter name if this is not null else * the default value */ String getParameter(String key, String defaultValue); void print(); void stop(); void reload(); void resetDataBuffer(); void addData1(String data); void addData2(String data); void close(); }