mauricioadl

Imprimir em impressora matricial

Jul 30th, 2011
1,011
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.41 KB | None | 0 0
  1. package util.impressao;
  2.  
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7.  
  8. import javax.swing.JOptionPane;
  9.  
  10. /**
  11.  * Classe que constroi um componente para impressao de impressora matricial
  12.  *
  13.  * @author Mauricio Lima
  14.  *
  15.  *         Data de Criacao: 13/05/2009
  16.  *
  17.  */
  18.  
  19. public class ImpressoraBean {
  20.  
  21.     // Codigos de controle da impressora
  22.     public static final String CONDENSADO = "\u001B\u000F";
  23.     public static final String NORMAL = "\u0012";
  24.     public static final String ALINHAMENTO_VERTICAL_18 = "\u001B\u0030";
  25.     public static final String NEW_LINE = "\n";
  26.     public static final String CARRIAGE_RETURN = "\r";
  27.     public static final String RESET = "\u001B" + "@";
  28.     public static final String TAMANHO_DA_PAGINA = "\u001B" + "C" + (char) 33;
  29.     public static final String TABELA_CARACTERES = "\u001B" + "t" + (char) 0;
  30.     public static final String TABELA_CARACTERES_2 = "\u001B" + "(t" + (char) 3
  31.             + (char) 0 + (char) 0 + (char) 25 + (char) 0;
  32.     public static final String FORM_FEED = "\f";
  33.     public static final String TAMANHO_10 = "\u001B" + "!" + (char) 0;
  34.     public static final String TAMANHO_12 = "\u001B" + "M";
  35.     public static final String TAMANHO_15 = "\u001B" + "g";
  36.     public static final String TAMANHO_56 = "\u001B" + "!" + (char) 56;
  37.     public static final String ALINHA_DIREITA = "\u001B" + "a" + (char) 0;
  38.     public static final String ALINHA_ESQUERDA = "\u001B" + "a" + (char) 1;
  39.     public static final String ALINHA_CENTRO = "\u001B" + "a" + (char) 2;
  40.     public static final String ALINHA_TOTAL = "\u001B" + "a" + (char) 3;
  41.     public static final String COLUNA_A = "\u001B" + "$" + (char) 1;
  42.     public static final String COLUNA_B = "\u001B" + "$" + (char) 3;
  43.     public static final String COLUNA_C = "\u001B" + "$" + (char) 5;
  44.     public static final String COLUNA_D = "\u001B" + "$" + (char) 7;
  45.  
  46.     private StringBuffer buffer = null;
  47.     private String impressora;
  48.  
  49.     public ImpressoraBean() {
  50.         // use "/dev/lp0" no LINUX
  51.         this.impressora = "LPT1:";
  52.         buffer = new StringBuffer();
  53.     }
  54.  
  55.     public ImpressoraBean(String impressora) {
  56.         this.impressora = impressora;
  57.         buffer = new StringBuffer();
  58.     }
  59.  
  60.     public void insertLine() {
  61.         String x = "-";
  62.         for (int i = 0; i < 95; i++) {
  63.             x += "-";
  64.         }
  65.         println(x);
  66.     }
  67.  
  68.     /**
  69.      * Escreve uma String e nao pula a linha
  70.      *
  71.      * @param s
  72.      */
  73.     public void print(String s) {
  74.         buffer.append(s);
  75.     }
  76.  
  77.     /**
  78.      * Escreve uma String e pula uma linha
  79.      *
  80.      * @param s
  81.      */
  82.     public void println(String s) {
  83.         buffer.append(s);
  84.         println();
  85.     }
  86.  
  87.     /**
  88.      * Pula uma linha e posiciona no inicio
  89.      */
  90.     public void println() {
  91.         buffer.append(NEW_LINE + CARRIAGE_RETURN);
  92.     }
  93.  
  94.     /**
  95.      * troca a folha da impressora
  96.      */
  97.     public void printff() {
  98.         buffer.append(FORM_FEED);
  99.     }
  100.  
  101.     /**
  102.      * Manda para impressora
  103.      *
  104.      * @return retorna um booleano confirmando a impressao
  105.      */
  106.     public boolean flush() {
  107.  
  108.         FileOutputStream outputFile;
  109.         try {
  110.             outputFile = new FileOutputStream(impressora);
  111.             PrintWriter out = new PrintWriter(outputFile);
  112.             out.print(buffer.toString());
  113.             out.close();
  114.             outputFile.close();
  115.             return true;
  116.         } catch (Exception e) {
  117.             JOptionPane.showMessageDialog(null,
  118.                     "Impressora ou arquivo nao encontrado!");
  119.             System.out.println(e.getMessage());
  120.             return false;
  121.  
  122.         }
  123.  
  124.     }
  125.  
  126.     @Override
  127.     public String toString() {
  128.         return buffer.toString();
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment