Acentos em impressora não fiscal Elgin i9

0 respostas
java
I

Depois de muita procura resolvi postar aqui, esse código funciona para imprimir normalmente, mas de forma alguma consegui imprimir caracteres acentuados, alguém pode ajudar a resolver isso??

(os comentários do código não estão certos)

StringBuilder texto = new StringBuilder("Teste impressão\n"); //  (limpa o buffer de impressão, para ser iniciado um novo arquivo BPLB)
        texto.append("------------------------------\n");  //(configura a Densidade ou aquecimento da cabeça de impressão para o valor 9)
        texto.append("\n");  //(configura a Velocidade de impressão para 3 pol./seg)
        texto.append("Produto 1 25 RS\n");  //(habilita o “backfeed” para que ao final da impressão, o espaço entre etiquetas pare na serrilha)
        texto.append("Produto 1 25 RS\n");  //(habilita o “backfeed” para que ao final da impressão, o espaço entre etiquetas pare na serrilha)
        texto.append("Produto 1 25 RS\n");  //(habilita o “backfeed” para que ao final da impressão, o espaço entre etiquetas pare na serrilha)
        texto.append("Produto 1 25 RS\n");  //(habilita o “backfeed” para que ao final da impressão, o espaço entre etiquetas pare na serrilha)
        texto.append("Produto 1 25 RS\n");  //(habilita o “backfeed” para que ao final da impressão, o espaço entre etiquetas pare na serrilha)
        texto.append("\n");  //(indica que a impressão deve inciar a partir do topo, ou seja, de cabeça para baixo)
        texto.append("\n");  //(indica que a impressão deve inciar a partir do topo, ou seja, de cabeça para baixo)
        texto.append("\n");  //(indica que a impressão deve inciar a partir do topo, ou seja, de cabeça para baixo)
        texto.append("\n");  //(indica que a impressão deve inciar a partir do topo, ou seja, de cabeça para baixo)
        String cortar = "" + (char) 27 + "@" + (char) 29 + "V" + (char) 1;

        texto.append(cortar);

        try {

            InputStream prin = new ByteArrayInputStream((texto + "").getBytes());
            DocFlavor docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

            SimpleDoc documentoTexto = new SimpleDoc(prin, docFlavor, null);
            PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();

            PrintRequestAttributeSet printAtrributes = new HashPrintRequestAttributeSet();
            printAtrributes.add(new JobName("Cupom X", null));
            printAtrributes.add(OrientationRequested.PORTRAIT);
            printAtrributes.add(MediaSizeName.ISO_A4);

            DocPrintJob printJob = impressora.createPrintJob();

            try {
                printJob.print(documentoTexto, printAtrributes);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Não foi possível imprimir");
            }

            prin.close();

        } catch (Exception ioe) {
            ioe.printStackTrace();
        }

    }
Criado 19 de maio de 2018
Respostas 0
Participantes 1